|
@@ -816,6 +816,7 @@ static inline void scsi_destroy_sdev(struct scsi_device *sdev)
|
|
|
put_device(&sdev->sdev_gendev);
|
|
|
}
|
|
|
|
|
|
+#ifdef CONFIG_SCSI_LOGGING
|
|
|
/**
|
|
|
* scsi_inq_str - print INQUIRY data from min to max index,
|
|
|
* strip trailing whitespace
|
|
@@ -824,12 +825,13 @@ static inline void scsi_destroy_sdev(struct scsi_device *sdev)
|
|
|
* @first: Offset of string into inq
|
|
|
* @end: Index after last character in inq
|
|
|
*/
|
|
|
-static unsigned char* scsi_inq_str(unsigned char* buf, unsigned char *inq,
|
|
|
+static unsigned char *scsi_inq_str(unsigned char *buf, unsigned char *inq,
|
|
|
unsigned first, unsigned end)
|
|
|
{
|
|
|
unsigned term = 0, idx;
|
|
|
- for (idx = 0; idx+first < end && idx+first < inq[4]+5; ++idx) {
|
|
|
- if (inq[idx+first] > 0x20) {
|
|
|
+
|
|
|
+ for (idx = 0; idx + first < end && idx + first < inq[4] + 5; idx++) {
|
|
|
+ if (inq[idx+first] > ' ') {
|
|
|
buf[idx] = inq[idx+first];
|
|
|
term = idx+1;
|
|
|
} else {
|
|
@@ -839,6 +841,7 @@ static unsigned char* scsi_inq_str(unsigned char* buf, unsigned char *inq,
|
|
|
buf[term] = 0;
|
|
|
return buf;
|
|
|
}
|
|
|
+#endif
|
|
|
|
|
|
/**
|
|
|
* scsi_probe_and_add_lun - probe a LUN, if a LUN is found add it
|
|
@@ -923,12 +926,16 @@ static int scsi_probe_and_add_lun(struct scsi_target *starget,
|
|
|
" peripheral qualifier of 3, device not"
|
|
|
" added\n"))
|
|
|
if (lun == 0) {
|
|
|
- unsigned char vend[9], mod[17];
|
|
|
- SCSI_LOG_SCAN_BUS(1, sdev_printk(KERN_INFO, sdev,
|
|
|
+ SCSI_LOG_SCAN_BUS(1, {
|
|
|
+ unsigned char vend[9];
|
|
|
+ unsigned char mod[17];
|
|
|
+
|
|
|
+ sdev_printk(KERN_INFO, sdev,
|
|
|
"scsi scan: consider passing scsi_mod."
|
|
|
"dev_flags=%s:%s:0x240 or 0x800240\n",
|
|
|
scsi_inq_str(vend, result, 8, 16),
|
|
|
- scsi_inq_str(mod, result, 16, 32)));
|
|
|
+ scsi_inq_str(mod, result, 16, 32));
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
res = SCSI_SCAN_TARGET_PRESENT;
|