|
@@ -134,10 +134,16 @@ struct scsi_cmnd {
|
|
|
|
|
|
static inline struct scsi_driver *scsi_cmd_to_driver(struct scsi_cmnd *cmd)
|
|
static inline struct scsi_driver *scsi_cmd_to_driver(struct scsi_cmnd *cmd)
|
|
{
|
|
{
|
|
|
|
+ struct scsi_driver **sdp;
|
|
|
|
+
|
|
if (!cmd->request->rq_disk)
|
|
if (!cmd->request->rq_disk)
|
|
return NULL;
|
|
return NULL;
|
|
|
|
|
|
- return *(struct scsi_driver **)cmd->request->rq_disk->private_data;
|
|
|
|
|
|
+ sdp = (struct scsi_driver **)cmd->request->rq_disk->private_data;
|
|
|
|
+ if (!sdp)
|
|
|
|
+ return NULL;
|
|
|
|
+
|
|
|
|
+ return *sdp;
|
|
}
|
|
}
|
|
|
|
|
|
extern struct scsi_cmnd *scsi_get_command(struct scsi_device *, gfp_t);
|
|
extern struct scsi_cmnd *scsi_get_command(struct scsi_device *, gfp_t);
|