net: xgene: Check negative return value of xgene_enet_get_ring_size()
authorTobias Klauser <tklauser@distanz.ch>
Thu, 14 Aug 2014 11:59:42 +0000 (13:59 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 14 Aug 2014 21:38:54 +0000 (14:38 -0700)
commit9b9ba821b6c47b6d1a711b8f6fff931277217bab
tree19fe44ecda226e216ba2c2bb21f897144f897873
parent9d186cac7ffb1831e9f34cb4a3a8b22abb9dd9d4
net: xgene: Check negative return value of xgene_enet_get_ring_size()

xgene_enet_get_ring_size() returns a negative value in case of an error,
but its only caller in xgene_enet_create_desc_ring() currently uses the
return value directly as u32. Instead, check for a negative value first and
error out in case. Also move the call to xgene_enet_get_ring_size() before
devm_kzalloc() so we don't need to free anything in the error path.

This fixes the following issue reported by the Coverity Scanner:

** CID 1231336:  Improper use of negative value  (NEGATIVE_RETURNS)
/drivers/net/ethernet/apm/xgene/xgene_enet_main.c: 596 in xgene_enet_create_desc_ring()

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/apm/xgene/xgene_enet_main.c