diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-13 22:25:38 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-11-13 22:25:38 -0500 |
commit | 0d522ee7499e4abe7189b2f1728e838959b8ddde (patch) | |
tree | 094f60e8bdb0083b58a43a0decbca59443a66e39 /drivers/scsi/scsi_transport_iscsi.c | |
parent | 5eea9be8b2478dbc2f9fb1cd6228a90e8dba804e (diff) | |
parent | 323f6226a816f0b01514d25fba5529e0e68636c3 (diff) |
Merge tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull first round of SCSI updates from James Bottomley:
"This patch set is driver updates for qla4xxx, scsi_debug, pm80xx,
fcoe/libfc, eas2r, lpfc, be2iscsi and megaraid_sas plus some assorted
bug fixes and cleanups"
* tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (106 commits)
[SCSI] scsi_error: Escalate to LUN reset if abort fails
[SCSI] Add 'eh_deadline' to limit SCSI EH runtime
[SCSI] remove check for 'resetting'
[SCSI] dc395: Move 'last_reset' into internal host structure
[SCSI] tmscsim: Move 'last_reset' into host structure
[SCSI] advansys: Remove 'last_reset' references
[SCSI] dpt_i2o: return SCSI_MLQUEUE_HOST_BUSY when in reset
[SCSI] dpt_i2o: Remove DPTI_STATE_IOCTL
[SCSI] megaraid_sas: Fix synchronization problem between sysPD IO path and AEN path
[SCSI] lpfc: Fix typo on NULL assignment
[SCSI] scsi_dh_alua: ALUA handler attach should succeed while TPG is transitioning
[SCSI] scsi_dh_alua: ALUA check sense should retry device internal reset unit attention
[SCSI] esas2r: Cleanup snprinf formatting of firmware version
[SCSI] esas2r: Remove superfluous mask of pcie_cap_reg
[SCSI] esas2r: Fixes for big-endian platforms
[SCSI] esas2r: Directly call kernel functions for atomic bit operations
[SCSI] lpfc 8.3.43: Update lpfc version to driver version 8.3.43
[SCSI] lpfc 8.3.43: Fixed not processing task management IOCB response status
[SCSI] lpfc 8.3.43: Fixed spinlock hang.
[SCSI] lpfc 8.3.43: Fixed invalid Total_Data_Placed value received for els and ct command responses
...
Diffstat (limited to 'drivers/scsi/scsi_transport_iscsi.c')
-rw-r--r-- | drivers/scsi/scsi_transport_iscsi.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/scsi/scsi_transport_iscsi.c b/drivers/scsi/scsi_transport_iscsi.c index e4a989fa477d..63a6ca49d4e5 100644 --- a/drivers/scsi/scsi_transport_iscsi.c +++ b/drivers/scsi/scsi_transport_iscsi.c | |||
@@ -2744,6 +2744,28 @@ exit_get_chap: | |||
2744 | return err; | 2744 | return err; |
2745 | } | 2745 | } |
2746 | 2746 | ||
2747 | static int iscsi_set_chap(struct iscsi_transport *transport, | ||
2748 | struct iscsi_uevent *ev, uint32_t len) | ||
2749 | { | ||
2750 | char *data = (char *)ev + sizeof(*ev); | ||
2751 | struct Scsi_Host *shost; | ||
2752 | int err = 0; | ||
2753 | |||
2754 | if (!transport->set_chap) | ||
2755 | return -ENOSYS; | ||
2756 | |||
2757 | shost = scsi_host_lookup(ev->u.set_path.host_no); | ||
2758 | if (!shost) { | ||
2759 | pr_err("%s could not find host no %u\n", | ||
2760 | __func__, ev->u.set_path.host_no); | ||
2761 | return -ENODEV; | ||
2762 | } | ||
2763 | |||
2764 | err = transport->set_chap(shost, data, len); | ||
2765 | scsi_host_put(shost); | ||
2766 | return err; | ||
2767 | } | ||
2768 | |||
2747 | static int iscsi_delete_chap(struct iscsi_transport *transport, | 2769 | static int iscsi_delete_chap(struct iscsi_transport *transport, |
2748 | struct iscsi_uevent *ev) | 2770 | struct iscsi_uevent *ev) |
2749 | { | 2771 | { |
@@ -3234,6 +3256,10 @@ iscsi_if_recv_msg(struct sk_buff *skb, struct nlmsghdr *nlh, uint32_t *group) | |||
3234 | case ISCSI_UEVENT_LOGOUT_FLASHNODE_SID: | 3256 | case ISCSI_UEVENT_LOGOUT_FLASHNODE_SID: |
3235 | err = iscsi_logout_flashnode_sid(transport, ev); | 3257 | err = iscsi_logout_flashnode_sid(transport, ev); |
3236 | break; | 3258 | break; |
3259 | case ISCSI_UEVENT_SET_CHAP: | ||
3260 | err = iscsi_set_chap(transport, ev, | ||
3261 | nlmsg_attrlen(nlh, sizeof(*ev))); | ||
3262 | break; | ||
3237 | default: | 3263 | default: |
3238 | err = -ENOSYS; | 3264 | err = -ENOSYS; |
3239 | break; | 3265 | break; |