qede: prevent chip hang when increasing channels
authorSudarsana Reddy Kalluru <sudarsana.kalluru@qlogic.com>
Thu, 5 May 2016 04:35:16 +0000 (00:35 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 6 May 2016 19:50:33 +0000 (15:50 -0400)
commit8e0ddc040a87a3b700bdf67394d24fe30a0f1eb9
tree5b25e88b1755144f7de7d11b2ef7ed7d1526d024
parent1d2f7b2d956e242179aaf4a08f3545f99c81f9a3
qede: prevent chip hang when increasing channels

qede requires qed to provide enough resources to accommodate 16 combined
channels, but that upper-bound isn't actually being enforced by it.
Instead, qed inform back to qede how many channels can be opened based on
available resources - but that calculation doesn't really take into account
the resources requested by qede; Instead it considers other FW/HW available
resources.

As a result, if a user would increase the number of channels to more than
16 [e.g., using ethtool] the chip would hang.

This change increments the resources requested by qede to 64 combined
channels instead of 16; This value is an upper bound on the possible
available channels [due to other FW/HW resources].

Signed-off-by: Sudarsana Reddy Kalluru <sudarsana.kalluru@qlogic.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/qlogic/qede/qede_main.c