scsi: qla2xxx: Fix scheduling while atomic
[linux-2.6-microblaze.git] / drivers / scsi / qla2xxx / qla_init.c
index e54c312..ac25d2b 100644 (file)
@@ -2231,12 +2231,7 @@ qla24xx_handle_plogi_done_event(struct scsi_qla_host *vha, struct event_arg *ea)
                ql_dbg(ql_dbg_disc, vha, 0x20eb, "%s %d %8phC cmd error %x\n",
                    __func__, __LINE__, ea->fcport->port_name, ea->data[1]);
 
-               ea->fcport->flags &= ~FCF_ASYNC_SENT;
-               qla2x00_set_fcport_disc_state(ea->fcport, DSC_LOGIN_FAILED);
-               if (ea->data[1] & QLA_LOGIO_LOGIN_RETRIED)
-                       set_bit(RELOGIN_NEEDED, &vha->dpc_flags);
-               else
-                       qla2x00_mark_device_lost(vha, ea->fcport, 1);
+               qlt_schedule_sess_for_deletion(ea->fcport);
                break;
        case MBS_LOOP_ID_USED:
                /* data[1] = IO PARAM 1 = nport ID  */