• Sudarsana Reddy Kalluru's avatar
    qede: prevent chip hang when increasing channels · 8e0ddc04
    Sudarsana Reddy Kalluru authored
    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: default avatarSudarsana Reddy Kalluru <sudarsana.kalluru@qlogic.com>
    Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@qlogic.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    8e0ddc04
qede_main.c 88.5 KB