Browse Source

Staging: bcm: silence off by one warning

"status" is used as an index into the Adapter->PackInfo[] array, which
has NO_OF_QUEUES elements.

This code actually works OK.  The SearchSfid() function always returns
a valid index or it returns NO_OF_QUEUES + 1.  But it looks sloppy and
it makes the static checkers complain.

Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Dan Carpenter 15 years ago
parent
commit
370adc7cb0
2 changed files with 2 additions and 4 deletions
  1. 1 2
      drivers/staging/bcm/CmHost.c
  2. 1 2
      drivers/staging/bcm/Qos.c

+ 1 - 2
drivers/staging/bcm/CmHost.c

@@ -2367,8 +2367,7 @@ int get_dsx_sf_data_to_application(PMINI_ADAPTER Adapter, UINT uiSFId, void __us
 	struct _packet_info *psSfInfo=NULL;
 	BCM_DEBUG_PRINT( Adapter,DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, "status =%d",status);
 	status = SearchSfid(Adapter, uiSFId);
-	if(status>NO_OF_QUEUES)
-	{
+	if (status >= NO_OF_QUEUES) {
 		BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, CONN_MSG, DBG_LVL_ALL, "SFID %d not present in queue !!!", uiSFId );
 		return -EINVAL;
 	}

+ 1 - 2
drivers/staging/bcm/Qos.c

@@ -587,8 +587,7 @@ USHORT ClassifyPacket(PMINI_ADAPTER Adapter,struct sk_buff* skb)
 			pstClassifierRule = &Adapter->astClassifierTable[uiLoopIndex];
 
 			uiSfIndex = SearchSfid(Adapter,pstClassifierRule->ulSFID);
-			if(uiSfIndex > NO_OF_QUEUES)
-			{
+			if (uiSfIndex >= NO_OF_QUEUES) {
 				BCM_DEBUG_PRINT(Adapter, DBG_TYPE_TX, IPV4_DBG, DBG_LVL_ALL,  "Queue Not Valid. SearchSfid for this classifier Failed\n");
 				break;
 			}