]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitddbbb0d1ecbd33d7070a1c39285038e0c4fbaabd
tree5b25e88b1755144f7de7d11b2ef7ed7d1526d024
parenta9a19d1ad6a6d8edb6a7757f601ae0a23c9e0e71
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