]> Pileus Git - ~andy/linux/blobdiff - drivers/scsi/scsi_transport_iscsi.c
Merge branch 'for-3.6/core' of git://git.kernel.dk/linux-block
[~andy/linux] / drivers / scsi / scsi_transport_iscsi.c
index 6042954d8f3b2880b9976993ab5ef5183ee277b5..fa1dfaa83e32986061586c4fcb2f6f8e9e23eaf9 100644 (file)
@@ -575,7 +575,7 @@ static int iscsi_remove_host(struct transport_container *tc,
        struct iscsi_cls_host *ihost = shost->shost_data;
 
        if (ihost->bsg_q) {
-               bsg_remove_queue(ihost->bsg_q);
+               bsg_unregister_queue(ihost->bsg_q);
                blk_cleanup_queue(ihost->bsg_q);
        }
        return 0;
@@ -907,7 +907,7 @@ static void session_recovery_timedout(struct work_struct *work)
                session->transport->session_recovery_timedout(session);
 
        ISCSI_DBG_TRANS_SESSION(session, "Unblocking SCSI target\n");
-       scsi_target_unblock(&session->dev);
+       scsi_target_unblock(&session->dev, SDEV_TRANSPORT_OFFLINE);
        ISCSI_DBG_TRANS_SESSION(session, "Completed unblocking SCSI target\n");
 }
 
@@ -930,7 +930,7 @@ static void __iscsi_unblock_session(struct work_struct *work)
        session->state = ISCSI_SESSION_LOGGED_IN;
        spin_unlock_irqrestore(&session->lock, flags);
        /* start IO */
-       scsi_target_unblock(&session->dev);
+       scsi_target_unblock(&session->dev, SDEV_RUNNING);
        /*
         * Only do kernel scanning if the driver is properly hooked into
         * the async scanning code (drivers like iscsi_tcp do login and
@@ -1180,7 +1180,7 @@ void iscsi_remove_session(struct iscsi_cls_session *session)
        session->state = ISCSI_SESSION_FREE;
        spin_unlock_irqrestore(&session->lock, flags);
 
-       scsi_target_unblock(&session->dev);
+       scsi_target_unblock(&session->dev, SDEV_TRANSPORT_OFFLINE);
        /* flush running scans then delete devices */
        scsi_flush_work(shost);
        __iscsi_unbind_session(&session->unbind_work);