diff options
Diffstat (limited to 'include/scsi/scsi_cmnd.h')
| -rw-r--r-- | include/scsi/scsi_cmnd.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h index 1e1198546c72..ac06cc595890 100644 --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h | |||
| @@ -134,10 +134,16 @@ struct scsi_cmnd { | |||
| 134 | 134 | ||
| 135 | static inline struct scsi_driver *scsi_cmd_to_driver(struct scsi_cmnd *cmd) | 135 | static inline struct scsi_driver *scsi_cmd_to_driver(struct scsi_cmnd *cmd) |
| 136 | { | 136 | { |
| 137 | struct scsi_driver **sdp; | ||
| 138 | |||
| 137 | if (!cmd->request->rq_disk) | 139 | if (!cmd->request->rq_disk) |
| 138 | return NULL; | 140 | return NULL; |
| 139 | 141 | ||
| 140 | return *(struct scsi_driver **)cmd->request->rq_disk->private_data; | 142 | sdp = (struct scsi_driver **)cmd->request->rq_disk->private_data; |
| 143 | if (!sdp) | ||
| 144 | return NULL; | ||
| 145 | |||
| 146 | return *sdp; | ||
| 141 | } | 147 | } |
| 142 | 148 | ||
| 143 | extern struct scsi_cmnd *scsi_get_command(struct scsi_device *, gfp_t); | 149 | extern struct scsi_cmnd *scsi_get_command(struct scsi_device *, gfp_t); |
