be2net: bug fix on returning an invalid nic descriptor
authorWei Yang <weiyang@linux.vnet.ibm.com>
Wed, 22 May 2013 15:58:22 +0000 (15:58 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 May 2013 01:56:40 +0000 (18:56 -0700)
commit950e2958a5e96406e6e5ff4190a638a54769f89b
treed403eafd55d2c20e1786d37edc677994d5a5ecf5
parent547669d483e5783d722772af1483fa474da7caf9
be2net: bug fix on returning an invalid nic descriptor

In function be_get_nic_desc(), it will go through the descriptor array
returned from f/w. By comparing the desc_type field, it determines whether
there is a nic descriptor in the array or not. In the case of no nic
descriptor, this function should return NULL.

The code may return an invalide descriptor, when there is no nic descriptor
in the array and the desc_count is less than MAX_RESOURCE_DESC. In this case,
even there is no nic descriptor, it will still return the lase descriptor
since the i doesn't equal to MAX_RESOURCE_DESC.

This patch fix this issue by returning the descriptor when find it and return
NULL for other cases.

Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com>
Reviewed-by: Gavin Shan <shangw@linux.vnet.ibm.com>
Reviewed-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com>
Acked-by: Sathya Perla <sathya.perla@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be_cmds.c