Patchwork [net-next,1/3] cxgb4vf: Fix off-by-one error checking for the end of the mailbox delay array

login
register
mail settings
Submitter Casey Leedom
Date July 20, 2010, 3:58 p.m.
Message ID <201007200858.52364.leedom@chelsio.com>
Download mbox | patch
Permalink /patch/59338/
State Accepted
Delegated to: David Miller
Headers show

Comments

Casey Leedom - July 20, 2010, 3:58 p.m.
From 1d32860335fad8c67e23254aec7c30750276f2b4 Mon Sep 17 00:00:00 2001
From: Casey Leedom <leedom@chelsio.com>
Date: Mon, 19 Jul 2010 17:51:46 -0700
Subject: [PATCH net-next 1/3] cxgb4vf: Fix off-by-one error checking for the end of the mailbox delay array

Fix off-by-one error in checking for the end of the mailbox response delay
array.  We ended up walking off the end and, if we were unlucky, we'd end up
pulling in a 0 and never terminate the mailbox response delay loop ...

Signed-off-by: Casey Leedom <leedom@chelsio.com>
---
 drivers/net/cxgb4vf/t4vf_hw.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
David Miller - July 20, 2010, 8:23 p.m.
From: Casey Leedom <leedom@chelsio.com>
Date: Tue, 20 Jul 2010 08:58:52 -0700

>>From 1d32860335fad8c67e23254aec7c30750276f2b4 Mon Sep 17 00:00:00 2001
> From: Casey Leedom <leedom@chelsio.com>
> Date: Mon, 19 Jul 2010 17:51:46 -0700
> Subject: [PATCH net-next 1/3] cxgb4vf: Fix off-by-one error checking for the end of the mailbox delay array
> 
> Fix off-by-one error in checking for the end of the mailbox response delay
> array.  We ended up walking off the end and, if we were unlucky, we'd end up
> pulling in a 0 and never terminate the mailbox response delay loop ...
> 
> Signed-off-by: Casey Leedom <leedom@chelsio.com>

Applied.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/drivers/net/cxgb4vf/t4vf_hw.c b/drivers/net/cxgb4vf/t4vf_hw.c
index 1ef2528..ea1c123 100644
--- a/drivers/net/cxgb4vf/t4vf_hw.c
+++ b/drivers/net/cxgb4vf/t4vf_hw.c
@@ -163,7 +163,7 @@  int t4vf_wr_mbox_core(struct adapter *adapter, const void *cmd, int size,
 	for (i = 0; i < 500; i += ms) {
 		if (sleep_ok) {
 			ms = delay[delay_idx];
-			if (delay_idx < ARRAY_SIZE(delay))
+			if (delay_idx < ARRAY_SIZE(delay) - 1)
 				delay_idx++;
 			msleep(ms);
 		} else