diff options
| -rw-r--r-- | drivers/scsi/libiscsi.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c index 1def8e101249..da8b61543ee4 100644 --- a/drivers/scsi/libiscsi.c +++ b/drivers/scsi/libiscsi.c | |||
| @@ -1338,17 +1338,16 @@ void iscsi_session_failure(struct iscsi_session *session, | |||
| 1338 | { | 1338 | { |
| 1339 | struct iscsi_conn *conn; | 1339 | struct iscsi_conn *conn; |
| 1340 | struct device *dev; | 1340 | struct device *dev; |
| 1341 | unsigned long flags; | ||
| 1342 | 1341 | ||
| 1343 | spin_lock_irqsave(&session->lock, flags); | 1342 | spin_lock_bh(&session->lock); |
| 1344 | conn = session->leadconn; | 1343 | conn = session->leadconn; |
| 1345 | if (session->state == ISCSI_STATE_TERMINATE || !conn) { | 1344 | if (session->state == ISCSI_STATE_TERMINATE || !conn) { |
| 1346 | spin_unlock_irqrestore(&session->lock, flags); | 1345 | spin_unlock_bh(&session->lock); |
| 1347 | return; | 1346 | return; |
| 1348 | } | 1347 | } |
| 1349 | 1348 | ||
| 1350 | dev = get_device(&conn->cls_conn->dev); | 1349 | dev = get_device(&conn->cls_conn->dev); |
| 1351 | spin_unlock_irqrestore(&session->lock, flags); | 1350 | spin_unlock_bh(&session->lock); |
| 1352 | if (!dev) | 1351 | if (!dev) |
| 1353 | return; | 1352 | return; |
| 1354 | /* | 1353 | /* |
| @@ -1367,17 +1366,16 @@ EXPORT_SYMBOL_GPL(iscsi_session_failure); | |||
| 1367 | void iscsi_conn_failure(struct iscsi_conn *conn, enum iscsi_err err) | 1366 | void iscsi_conn_failure(struct iscsi_conn *conn, enum iscsi_err err) |
| 1368 | { | 1367 | { |
| 1369 | struct iscsi_session *session = conn->session; | 1368 | struct iscsi_session *session = conn->session; |
| 1370 | unsigned long flags; | ||
| 1371 | 1369 | ||
| 1372 | spin_lock_irqsave(&session->lock, flags); | 1370 | spin_lock_bh(&session->lock); |
| 1373 | if (session->state == ISCSI_STATE_FAILED) { | 1371 | if (session->state == ISCSI_STATE_FAILED) { |
| 1374 | spin_unlock_irqrestore(&session->lock, flags); | 1372 | spin_unlock_bh(&session->lock); |
| 1375 | return; | 1373 | return; |
| 1376 | } | 1374 | } |
| 1377 | 1375 | ||
| 1378 | if (conn->stop_stage == 0) | 1376 | if (conn->stop_stage == 0) |
| 1379 | session->state = ISCSI_STATE_FAILED; | 1377 | session->state = ISCSI_STATE_FAILED; |
| 1380 | spin_unlock_irqrestore(&session->lock, flags); | 1378 | spin_unlock_bh(&session->lock); |
| 1381 | 1379 | ||
| 1382 | set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx); | 1380 | set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_tx); |
| 1383 | set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx); | 1381 | set_bit(ISCSI_SUSPEND_BIT, &conn->suspend_rx); |
