• Chad Dupuis's avatar
    scsi: qedf: Set the UNLOADING flag when removing a vport · 4f4616ce
    Chad Dupuis authored
    Similar to what we do when we remove a PCI function, set the
    QEDF_UNLOADING flag to prevent any requests from being queued while a
    vport is being deleted.  This prevents any requests from getting stuck
    in limbo when the vport is unloaded or deleted.
    
    Fixes the crash:
    
    PID: 106676  TASK: ffff9a436aa90000  CPU: 12  COMMAND: "multipathd"
     #0 [ffff9a43567d3550] machine_kexec+522 at ffffffffaca60b2a
     #1 [ffff9a43567d35b0] __crash_kexec+114 at ffffffffacb13512
     #2 [ffff9a43567d3680] crash_kexec+48 at ffffffffacb13600
     #3 [ffff9a43567d3698] oops_end+168 at ffffffffad117768
     #4 [ffff9a43567d36c0] no_context+645 at ffffffffad106f52
     #5 [ffff9a43567d3710] __bad_area_nosemaphore+116 at ffffffffad106fe9
     #6 [ffff9a43567d3760] bad_area+70 at ffffffffad107379
     #7 [ffff9a43567d3788] __do_page_fault+1247 at ffffffffad11a8cf
     #8 [ffff9a43567d37f0] do_page_fault+53 at ffffffffad11a915
     #9 [ffff9a43567d3820] page_fault+40 at ffffffffad116768
        [exception RIP: qedf_init_task+61]
        RIP: ffffffffc0e13c2d  RSP: ffff9a43567d38d0  RFLAGS: 00010046
        RAX: 0000000000000000  RBX: ffffbe920472c738  RCX: ffff9a434fa0e3e8
        RDX: ffff9a434f695280  RSI: ffffbe920472c738  RDI: ffff9a43aa359c80
        RBP: ffff9a43567d3950   R8: 0000000000000c15   R9: ffff9a3fb09b9880
        R10: ffff9a434fa0e3e8  R11: ffff9a43567d35ce  R12: 0000000000000000
        R13: ffff9a434f695280  R14: ffff9a43aa359c80  R15: ffff9a3fb9e005c0
        ORIG_RAX: ffffffffffffffff  CS: 0010  SS: 0018
    Signed-off-by: default avatarChad Dupuis <chad.dupuis@cavium.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    4f4616ce
qedf_main.c 94.9 KB