• Nathan Fontenot's avatar
    ibmvnic: Free and re-allocate scrqs when tx/rx scrqs change · d7c0ef36
    Nathan Fontenot authored
    When the driver resets it is possible that the number of tx/rx
    sub-crqs can change. This patch handles this so that the driver does
    not try to access non-existent sub-crqs.
    
    The count for releasing sub crqs depends on the adapter state. The
    active queue count is not set in probe, so if we are relasing in probe
    state we use the request queue count.
    
    Additionally, a parameter is added to release_sub_crqs() so that
    we know if the h_call to free the sub-crq needs to be made. In
    the reset path we have to do a reset of the main crq, which is
    a free followed by a register of the main crq. The free of main
    crq results in all of the sub crq's being free'ed. When updating
    sub-crq count in the reset path we do not want to h_free the
    sub-crqs, they are already free'ed.
    Signed-off-by: default avatarNathan Fontenot <nfont@linux.vnet.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d7c0ef36
ibmvnic.c 127 KB