diff options
Diffstat (limited to 'drivers/scsi/qla4xxx/ql4_os.c')
-rw-r--r-- | drivers/scsi/qla4xxx/ql4_os.c | 19 |
1 files changed, 6 insertions, 13 deletions
diff --git a/drivers/scsi/qla4xxx/ql4_os.c b/drivers/scsi/qla4xxx/ql4_os.c index 01308e7ef2ae..29cd4b90ebed 100644 --- a/drivers/scsi/qla4xxx/ql4_os.c +++ b/drivers/scsi/qla4xxx/ql4_os.c | |||
@@ -54,8 +54,9 @@ static void qla4xxx_config_dma_addressing(struct scsi_qla_host *ha); | |||
54 | /* | 54 | /* |
55 | * iSCSI template entry points | 55 | * iSCSI template entry points |
56 | */ | 56 | */ |
57 | static int qla4xxx_tgt_dscvr(enum iscsi_tgt_dscvr type, uint32_t host_no, | 57 | static int qla4xxx_tgt_dscvr(struct Scsi_Host *shost, |
58 | uint32_t enable, struct sockaddr *dst_addr); | 58 | enum iscsi_tgt_dscvr type, uint32_t enable, |
59 | struct sockaddr *dst_addr); | ||
59 | static int qla4xxx_conn_get_param(struct iscsi_cls_conn *conn, | 60 | static int qla4xxx_conn_get_param(struct iscsi_cls_conn *conn, |
60 | enum iscsi_param param, char *buf); | 61 | enum iscsi_param param, char *buf); |
61 | static int qla4xxx_sess_get_param(struct iscsi_cls_session *sess, | 62 | static int qla4xxx_sess_get_param(struct iscsi_cls_session *sess, |
@@ -243,21 +244,15 @@ static int qla4xxx_conn_get_param(struct iscsi_cls_conn *conn, | |||
243 | return len; | 244 | return len; |
244 | } | 245 | } |
245 | 246 | ||
246 | static int qla4xxx_tgt_dscvr(enum iscsi_tgt_dscvr type, uint32_t host_no, | 247 | static int qla4xxx_tgt_dscvr(struct Scsi_Host *shost, |
247 | uint32_t enable, struct sockaddr *dst_addr) | 248 | enum iscsi_tgt_dscvr type, uint32_t enable, |
249 | struct sockaddr *dst_addr) | ||
248 | { | 250 | { |
249 | struct scsi_qla_host *ha; | 251 | struct scsi_qla_host *ha; |
250 | struct Scsi_Host *shost; | ||
251 | struct sockaddr_in *addr; | 252 | struct sockaddr_in *addr; |
252 | struct sockaddr_in6 *addr6; | 253 | struct sockaddr_in6 *addr6; |
253 | int ret = 0; | 254 | int ret = 0; |
254 | 255 | ||
255 | shost = scsi_host_lookup(host_no); | ||
256 | if (IS_ERR(shost)) { | ||
257 | printk(KERN_ERR "Could not find host no %u\n", host_no); | ||
258 | return -ENODEV; | ||
259 | } | ||
260 | |||
261 | ha = (struct scsi_qla_host *) shost->hostdata; | 256 | ha = (struct scsi_qla_host *) shost->hostdata; |
262 | 257 | ||
263 | switch (type) { | 258 | switch (type) { |
@@ -281,8 +276,6 @@ static int qla4xxx_tgt_dscvr(enum iscsi_tgt_dscvr type, uint32_t host_no, | |||
281 | default: | 276 | default: |
282 | ret = -ENOSYS; | 277 | ret = -ENOSYS; |
283 | } | 278 | } |
284 | |||
285 | scsi_host_put(shost); | ||
286 | return ret; | 279 | return ret; |
287 | } | 280 | } |
288 | 281 | ||