• Ayush Sawal's avatar
    Crypto: chelsio - Fixes a hang issue during driver registration · ad59ddd0
    Ayush Sawal authored
    This issue occurs only when multiadapters are present. Hang
    happens because assign_chcr_device returns u_ctx pointer of
    adapter which is not yet initialized as for this adapter cxgb_up
    is not been called yet.
    
    The last_dev pointer is used to determine u_ctx pointer and it
    is initialized two times in chcr_uld_add in chcr_dev_add respectively.
    
    The fix here is don't initialize the last_dev pointer during
    chcr_uld_add. Only assign to value to it when the adapter's
    initialization is completed i.e in chcr_dev_add.
    
    Fixes: fef4912b ("crypto: chelsio - Handle PCI shutdown event").
    Signed-off-by: default avatarAyush Sawal <ayush.sawal@chelsio.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ad59ddd0
chcr_core.c 9.09 KB