diff options
Diffstat (limited to 'drivers/scsi/scsi_error.c')
-rw-r--r-- | drivers/scsi/scsi_error.c | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c index cfadccef045c..6457a8a0db9c 100644 --- a/drivers/scsi/scsi_error.c +++ b/drivers/scsi/scsi_error.c | |||
@@ -26,7 +26,6 @@ | |||
26 | #include <linux/blkdev.h> | 26 | #include <linux/blkdev.h> |
27 | #include <linux/delay.h> | 27 | #include <linux/delay.h> |
28 | #include <linux/jiffies.h> | 28 | #include <linux/jiffies.h> |
29 | #include <asm/unaligned.h> | ||
30 | 29 | ||
31 | #include <scsi/scsi.h> | 30 | #include <scsi/scsi.h> |
32 | #include <scsi/scsi_cmnd.h> | 31 | #include <scsi/scsi_cmnd.h> |
@@ -2523,33 +2522,3 @@ void scsi_build_sense_buffer(int desc, u8 *buf, u8 key, u8 asc, u8 ascq) | |||
2523 | } | 2522 | } |
2524 | } | 2523 | } |
2525 | EXPORT_SYMBOL(scsi_build_sense_buffer); | 2524 | EXPORT_SYMBOL(scsi_build_sense_buffer); |
2526 | |||
2527 | /** | ||
2528 | * scsi_set_sense_information - set the information field in a | ||
2529 | * formatted sense data buffer | ||
2530 | * @buf: Where to build sense data | ||
2531 | * @info: 64-bit information value to be set | ||
2532 | * | ||
2533 | **/ | ||
2534 | void scsi_set_sense_information(u8 *buf, u64 info) | ||
2535 | { | ||
2536 | if ((buf[0] & 0x7f) == 0x72) { | ||
2537 | u8 *ucp, len; | ||
2538 | |||
2539 | len = buf[7]; | ||
2540 | ucp = (char *)scsi_sense_desc_find(buf, len + 8, 0); | ||
2541 | if (!ucp) { | ||
2542 | buf[7] = len + 0xa; | ||
2543 | ucp = buf + 8 + len; | ||
2544 | } | ||
2545 | ucp[0] = 0; | ||
2546 | ucp[1] = 0xa; | ||
2547 | ucp[2] = 0x80; /* Valid bit */ | ||
2548 | ucp[3] = 0; | ||
2549 | put_unaligned_be64(info, &ucp[4]); | ||
2550 | } else if ((buf[0] & 0x7f) == 0x70) { | ||
2551 | buf[0] |= 0x80; | ||
2552 | put_unaligned_be64(info, &buf[3]); | ||
2553 | } | ||
2554 | } | ||
2555 | EXPORT_SYMBOL(scsi_set_sense_information); | ||