sfc: fix ef100 design-param checking
authorEdward Cree <ecree@solarflare.com>
Wed, 12 Aug 2020 09:32:49 +0000 (10:32 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 12 Aug 2020 19:54:03 +0000 (12:54 -0700)
commit41077c99026643c633a1f79376d369fffc757e06
treea053399130b4914940f9a900a6c4175f2f1ed8ae
parent633f5b6bca9b93f5c346a4b3cc60ed02ddd72062
sfc: fix ef100 design-param checking

The handling of the RXQ/TXQ size granularity design-params had two
 problems: it had a 64-bit divide that didn't build on 32-bit platforms,
 and it could divide by zero if the NIC supplied 0 as the value of the
 design-param.  Fix both by checking for 0 and for a granularity bigger
 than our min-size; if the granularity <= EFX_MIN_DMAQ_SIZE then it fits
 in 32 bits, so we can cast it to u32 for the divide.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Edward Cree <ecree@solarflare.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/ef100_nic.c