aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/scsi/libiscsi.c2
-rw-r--r--drivers/scsi/scsi_transport_iscsi.c8
-rw-r--r--include/scsi/scsi_transport_iscsi.h3
3 files changed, 5 insertions, 8 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c
index 7e6e031cc41b..499e79f0cac5 100644
--- a/drivers/scsi/libiscsi.c
+++ b/drivers/scsi/libiscsi.c
@@ -1290,7 +1290,7 @@ iscsi_session_setup(struct iscsi_transport *iscsit,
1290 if (!try_module_get(iscsit->owner)) 1290 if (!try_module_get(iscsit->owner))
1291 goto cls_session_fail; 1291 goto cls_session_fail;
1292 1292
1293 cls_session = iscsi_create_session(shost, iscsit, 0); 1293 cls_session = iscsi_create_session(shost, iscsit);
1294 if (!cls_session) 1294 if (!cls_session)
1295 goto module_put; 1295 goto module_put;
1296 *(unsigned long*)shost->hostdata = (unsigned long)cls_session; 1296 *(unsigned long*)shost->hostdata = (unsigned long)cls_session;
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c
index 8717ff51ba4b..c0ec502835ee 100644
--- a/drivers/scsi/scsi_transport_iscsi.c
+++ b/drivers/scsi/scsi_transport_iscsi.c
@@ -248,10 +248,9 @@ static int iscsi_user_scan(struct Scsi_Host *shost, uint channel,
248 248
249 mutex_lock(&ihost->mutex); 249 mutex_lock(&ihost->mutex);
250 list_for_each_entry(session, &ihost->sessions, host_list) { 250 list_for_each_entry(session, &ihost->sessions, host_list) {
251 if ((channel == SCAN_WILD_CARD || 251 if ((channel == SCAN_WILD_CARD || channel == 0) &&
252 channel == session->channel) &&
253 (id == SCAN_WILD_CARD || id == session->target_id)) 252 (id == SCAN_WILD_CARD || id == session->target_id))
254 scsi_scan_target(&session->dev, session->channel, 253 scsi_scan_target(&session->dev, 0,
255 session->target_id, lun, 1); 254 session->target_id, lun, 1);
256 } 255 }
257 mutex_unlock(&ihost->mutex); 256 mutex_unlock(&ihost->mutex);
@@ -297,7 +296,7 @@ EXPORT_SYMBOL_GPL(iscsi_block_session);
297 **/ 296 **/
298struct iscsi_cls_session * 297struct iscsi_cls_session *
299iscsi_create_session(struct Scsi_Host *shost, 298iscsi_create_session(struct Scsi_Host *shost,
300 struct iscsi_transport *transport, int channel) 299 struct iscsi_transport *transport)
301{ 300{
302 struct iscsi_host *ihost; 301 struct iscsi_host *ihost;
303 struct iscsi_cls_session *session; 302 struct iscsi_cls_session *session;
@@ -322,7 +321,6 @@ iscsi_create_session(struct Scsi_Host *shost,
322 ihost = shost->shost_data; 321 ihost = shost->shost_data;
323 322
324 session->sid = iscsi_session_nr++; 323 session->sid = iscsi_session_nr++;
325 session->channel = channel;
326 session->target_id = ihost->next_target_id++; 324 session->target_id = ihost->next_target_id++;
327 325
328 snprintf(session->dev.bus_id, BUS_ID_SIZE, "session%u", 326 snprintf(session->dev.bus_id, BUS_ID_SIZE, "session%u",
diff --git a/include/scsi/scsi_transport_iscsi.h b/include/scsi/scsi_transport_iscsi.h
index 05397058a9b8..2e3cb37af047 100644
--- a/include/scsi/scsi_transport_iscsi.h
+++ b/include/scsi/scsi_transport_iscsi.h
@@ -187,7 +187,6 @@ struct iscsi_cls_session {
187 struct work_struct recovery_work; 187 struct work_struct recovery_work;
188 188
189 int target_id; 189 int target_id;
190 int channel;
191 190
192 int sid; /* session id */ 191 int sid; /* session id */
193 void *dd_data; /* LLD private data */ 192 void *dd_data; /* LLD private data */
@@ -210,7 +209,7 @@ struct iscsi_host {
210 * session and connection functions that can be used by HW iSCSI LLDs 209 * session and connection functions that can be used by HW iSCSI LLDs
211 */ 210 */
212extern struct iscsi_cls_session *iscsi_create_session(struct Scsi_Host *shost, 211extern struct iscsi_cls_session *iscsi_create_session(struct Scsi_Host *shost,
213 struct iscsi_transport *t, int channel); 212 struct iscsi_transport *t);
214extern int iscsi_destroy_session(struct iscsi_cls_session *session); 213extern int iscsi_destroy_session(struct iscsi_cls_session *session);
215extern struct iscsi_cls_conn *iscsi_create_conn(struct iscsi_cls_session *sess, 214extern struct iscsi_cls_conn *iscsi_create_conn(struct iscsi_cls_session *sess,
216 uint32_t cid); 215 uint32_t cid);