diff options
Diffstat (limited to 'drivers/scsi/libiscsi.c')
| -rw-r--r-- | drivers/scsi/libiscsi.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c index 8dc73c489a17..f1a4246f890c 100644 --- a/drivers/scsi/libiscsi.c +++ b/drivers/scsi/libiscsi.c | |||
| @@ -2436,7 +2436,7 @@ static void iscsi_host_dec_session_cnt(struct Scsi_Host *shost) | |||
| 2436 | */ | 2436 | */ |
| 2437 | struct iscsi_cls_session * | 2437 | struct iscsi_cls_session * |
| 2438 | iscsi_session_setup(struct iscsi_transport *iscsit, struct Scsi_Host *shost, | 2438 | iscsi_session_setup(struct iscsi_transport *iscsit, struct Scsi_Host *shost, |
| 2439 | uint16_t cmds_max, int cmd_task_size, | 2439 | uint16_t cmds_max, int dd_size, int cmd_task_size, |
| 2440 | uint32_t initial_cmdsn, unsigned int id) | 2440 | uint32_t initial_cmdsn, unsigned int id) |
| 2441 | { | 2441 | { |
| 2442 | struct iscsi_host *ihost = shost_priv(shost); | 2442 | struct iscsi_host *ihost = shost_priv(shost); |
| @@ -2486,7 +2486,8 @@ iscsi_session_setup(struct iscsi_transport *iscsit, struct Scsi_Host *shost, | |||
| 2486 | scsi_cmds = total_cmds - ISCSI_MGMT_CMDS_MAX; | 2486 | scsi_cmds = total_cmds - ISCSI_MGMT_CMDS_MAX; |
| 2487 | 2487 | ||
| 2488 | cls_session = iscsi_alloc_session(shost, iscsit, | 2488 | cls_session = iscsi_alloc_session(shost, iscsit, |
| 2489 | sizeof(struct iscsi_session)); | 2489 | sizeof(struct iscsi_session) + |
| 2490 | dd_size); | ||
| 2490 | if (!cls_session) | 2491 | if (!cls_session) |
| 2491 | goto dec_session_count; | 2492 | goto dec_session_count; |
| 2492 | session = cls_session->dd_data; | 2493 | session = cls_session->dd_data; |
| @@ -2503,6 +2504,7 @@ iscsi_session_setup(struct iscsi_transport *iscsit, struct Scsi_Host *shost, | |||
| 2503 | session->max_cmdsn = initial_cmdsn + 1; | 2504 | session->max_cmdsn = initial_cmdsn + 1; |
| 2504 | session->max_r2t = 1; | 2505 | session->max_r2t = 1; |
| 2505 | session->tt = iscsit; | 2506 | session->tt = iscsit; |
| 2507 | session->dd_data = cls_session->dd_data + sizeof(*session); | ||
| 2506 | mutex_init(&session->eh_mutex); | 2508 | mutex_init(&session->eh_mutex); |
| 2507 | spin_lock_init(&session->lock); | 2509 | spin_lock_init(&session->lock); |
| 2508 | 2510 | ||
