diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-12 21:57:01 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-12 21:57:01 -0400 |
commit | 6a5a3d6a4adde0c66f3be29bbd7c0d6ffb7e1a40 (patch) | |
tree | ae416ffa4458df755f984a05d65ee1c3e220c40b /include/scsi | |
parent | 8bbbfa70549bd84f29ff331d0ac051897ccbbd72 (diff) | |
parent | 5c1b10ab7f93d24f29b5630286e323d1c5802d5c (diff) |
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull misc SCSI updates from James Bottomley:
"This is an assorted set of stragglers into the merge window with
driver updates for megaraid_sas, lpfc, bfi and mvumi. It also
includes some fairly major fixes for virtio-scsi (scatterlist init),
scsi_debug (off by one error), storvsc (use after free) and qla2xxx
(potential deadlock).
Signed-off-by: James Bottomley <JBottomley@Parallels.com>"
* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (49 commits)
[SCSI] storvsc: Account for in-transit packets in the RESET path
[SCSI] qla2xxx: fix potential deadlock on ha->hardware_lock
[SCSI] scsi_debug: Fix off-by-one bug when unmapping region
[SCSI] Shorten the path length of scsi_cmd_to_driver()
[SCSI] virtio-scsi: support online resizing of disks
[SCSI] virtio-scsi: fix LUNs greater than 255
[SCSI] virtio-scsi: initialize scatterlist structure
[SCSI] megaraid_sas: Version, Changelog, Copyright update
[SCSI] megaraid_sas: Remove duplicate code
[SCSI] megaraid_sas: Add SystemPD FastPath support
[SCSI] megaraid_sas: Add array boundary check for SystemPD
[SCSI] megaraid_sas: Load io_request DataLength in bytes
[SCSI] megaraid_sas: Add module param for configurable MSI-X vector count
[SCSI] megaraid_sas: Remove un-needed completion_lock spinlock calls
[SCSI] lpfc 8.3.35: Update lpfc version for 8.3.35 driver release
[SCSI] lpfc 8.3.35: Fixed not reporting logical link speed to SCSI midlayer when QoS not on
[SCSI] lpfc 8.3.35: Fix error with fabric service parameters causing performance issues
[SCSI] lpfc 8.3.35: Fixed SCSI host create showing wrong link speed on SLI3 HBA ports
[SCSI] lpfc 8.3.35: Fixed not checking solicition in progress bit when verifying FCF record for use
[SCSI] lpfc 8.3.35: Fixed messages for misconfigured port errors
...
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/fc/fc_fcp.h | 6 | ||||
-rw-r--r-- | include/scsi/libfcoe.h | 2 | ||||
-rw-r--r-- | include/scsi/scsi_cmnd.h | 12 |
3 files changed, 8 insertions, 12 deletions
diff --git a/include/scsi/fc/fc_fcp.h b/include/scsi/fc/fc_fcp.h index 0d7d67e96d43..9c8702942b61 100644 --- a/include/scsi/fc/fc_fcp.h +++ b/include/scsi/fc/fc_fcp.h | |||
@@ -127,6 +127,9 @@ struct fcp_txrdy { | |||
127 | * | 127 | * |
128 | * All response frames will always contain the fcp_resp template. Some | 128 | * All response frames will always contain the fcp_resp template. Some |
129 | * will also include the fcp_resp_len template. | 129 | * will also include the fcp_resp_len template. |
130 | * | ||
131 | * From Table 23, the FCP_RSP_INFO can either be 4 bytes or 8 bytes, both | ||
132 | * are valid length. | ||
130 | */ | 133 | */ |
131 | struct fcp_resp { | 134 | struct fcp_resp { |
132 | __u8 _fr_resvd[8]; /* reserved */ | 135 | __u8 _fr_resvd[8]; /* reserved */ |
@@ -156,6 +159,9 @@ struct fcp_resp_rsp_info { | |||
156 | __u8 _fr_resvd2[4]; /* reserved */ | 159 | __u8 _fr_resvd2[4]; /* reserved */ |
157 | }; | 160 | }; |
158 | 161 | ||
162 | #define FCP_RESP_RSP_INFO_LEN4 4 /* without reserved field */ | ||
163 | #define FCP_RESP_RSP_INFO_LEN8 8 /* with reserved field */ | ||
164 | |||
159 | struct fcp_resp_with_ext { | 165 | struct fcp_resp_with_ext { |
160 | struct fcp_resp resp; | 166 | struct fcp_resp resp; |
161 | struct fcp_resp_ext ext; | 167 | struct fcp_resp_ext ext; |
diff --git a/include/scsi/libfcoe.h b/include/scsi/libfcoe.h index 22b07cc99808..8742d853a3b8 100644 --- a/include/scsi/libfcoe.h +++ b/include/scsi/libfcoe.h | |||
@@ -327,7 +327,6 @@ struct fcoe_percpu_s { | |||
327 | * @lport: The associated local port | 327 | * @lport: The associated local port |
328 | * @fcoe_pending_queue: The pending Rx queue of skbs | 328 | * @fcoe_pending_queue: The pending Rx queue of skbs |
329 | * @fcoe_pending_queue_active: Indicates if the pending queue is active | 329 | * @fcoe_pending_queue_active: Indicates if the pending queue is active |
330 | * @priority: Packet priority (DCB) | ||
331 | * @max_queue_depth: Max queue depth of pending queue | 330 | * @max_queue_depth: Max queue depth of pending queue |
332 | * @min_queue_depth: Min queue depth of pending queue | 331 | * @min_queue_depth: Min queue depth of pending queue |
333 | * @timer: The queue timer | 332 | * @timer: The queue timer |
@@ -343,7 +342,6 @@ struct fcoe_port { | |||
343 | struct fc_lport *lport; | 342 | struct fc_lport *lport; |
344 | struct sk_buff_head fcoe_pending_queue; | 343 | struct sk_buff_head fcoe_pending_queue; |
345 | u8 fcoe_pending_queue_active; | 344 | u8 fcoe_pending_queue_active; |
346 | u8 priority; | ||
347 | u32 max_queue_depth; | 345 | u32 max_queue_depth; |
348 | u32 min_queue_depth; | 346 | u32 min_queue_depth; |
349 | struct timer_list timer; | 347 | struct timer_list timer; |
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h index ac06cc595890..de5f5d8f1f8a 100644 --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h | |||
@@ -132,18 +132,10 @@ struct scsi_cmnd { | |||
132 | unsigned char tag; /* SCSI-II queued command tag */ | 132 | unsigned char tag; /* SCSI-II queued command tag */ |
133 | }; | 133 | }; |
134 | 134 | ||
135 | /* make sure not to use it with REQ_TYPE_BLOCK_PC commands */ | ||
135 | static inline struct scsi_driver *scsi_cmd_to_driver(struct scsi_cmnd *cmd) | 136 | static inline struct scsi_driver *scsi_cmd_to_driver(struct scsi_cmnd *cmd) |
136 | { | 137 | { |
137 | struct scsi_driver **sdp; | 138 | return *(struct scsi_driver **)cmd->request->rq_disk->private_data; |
138 | |||
139 | if (!cmd->request->rq_disk) | ||
140 | return NULL; | ||
141 | |||
142 | sdp = (struct scsi_driver **)cmd->request->rq_disk->private_data; | ||
143 | if (!sdp) | ||
144 | return NULL; | ||
145 | |||
146 | return *sdp; | ||
147 | } | 139 | } |
148 | 140 | ||
149 | extern struct scsi_cmnd *scsi_get_command(struct scsi_device *, gfp_t); | 141 | extern struct scsi_cmnd *scsi_get_command(struct scsi_device *, gfp_t); |