summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/scsi_debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/scsi_debug.c')
-rw-r--r--drivers/scsi/scsi_debug.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
index 4f4c5b7bdef..5f348e7b118 100644
--- a/drivers/scsi/scsi_debug.c
+++ b/drivers/scsi/scsi_debug.c
@@ -46,6 +46,7 @@
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#include <scsi/scsicam.h>
+#include <scsi/scsi_eh.h>
#include <linux/stat.h>
@@ -1808,22 +1809,13 @@ static struct sdebug_dev_info * devInfoReg(struct scsi_device * sdev)
static void mk_sense_buffer(struct sdebug_dev_info * devip, int key,
int asc, int asq)
{
- unsigned char * sbuff;
+ unsigned char *sbuff;
sbuff = devip->sense_buff;
memset(sbuff, 0, SDEBUG_SENSE_LEN);
- if (scsi_debug_dsense) {
- sbuff[0] = 0x72; /* descriptor, current */
- sbuff[1] = key;
- sbuff[2] = asc;
- sbuff[3] = asq;
- } else {
- sbuff[0] = 0x70; /* fixed, current */
- sbuff[2] = key;
- sbuff[7] = 0xa; /* implies 18 byte sense buffer */
- sbuff[12] = asc;
- sbuff[13] = asq;
- }
+
+ scsi_build_sense_buffer(scsi_debug_dsense, sbuff, key, asc, asq);
+
if (SCSI_DEBUG_OPT_NOISE & scsi_debug_opts)
printk(KERN_INFO "scsi_debug: [sense_key,asc,ascq]: "
"[0x%x,0x%x,0x%x]\n", key, asc, asq);