> -----Original Message-----
> From: Hannes Reinecke [mailto:[email protected]]
...
> @@ -1369,49 +1372,53 @@ scsi_extd_sense_format(unsigned char asc, unsigned
> char ascq) {
> EXPORT_SYMBOL(scsi_extd_sense_format);
>
> void
> -scsi_show_extd_sense(unsigned char asc, unsigned char ascq)
> +scsi_show_extd_sense(struct scsi_device *sdev, const char *name,
> + unsigned char asc, unsigned char ascq)
Since what sdev points to is not modified, that could be
const struct scsi_device *sdev.
(also adjust the function prototype in scsi_dbg.h to match)
> {
> - const char *extd_sense_fmt = scsi_extd_sense_format(asc, ascq);
> + const char *extd_sense_fmt = NULL;
> + const char *extd_sense_str = scsi_extd_sense_format(asc, ascq,
> + &extd_sense_fmt);
> +
> + if (extd_sense_str) {
> + if (extd_sense_fmt)
> + sdev_prefix_printk(KERN_INFO, sdev, name,
> + "Add. Sense: %s (%s%x)",
> + extd_sense_str, extd_sense_fmt,
> + ascq);
> + else
> + sdev_prefix_printk(KERN_INFO, sdev, name,
> + "Add. Sense: %s", extd_sense_str);
>
> - if (extd_sense_fmt) {
> - if (strstr(extd_sense_fmt, "%x")) {
> - printk("Add. Sense: ");
> - printk(extd_sense_fmt, ascq);
> - } else
> - printk("Add. Sense: %s", extd_sense_fmt);
> } else {
> - if (asc >= 0x80)
> - printk("<<vendor>> ASC=0x%x ASCQ=0x%x", asc,
> - ascq);
> - if (ascq >= 0x80)
> - printk("ASC=0x%x <<vendor>> ASCQ=0x%x", asc,
> - ascq);
> - else
> - printk("ASC=0x%x ASCQ=0x%x", asc, ascq);
> + sdev_prefix_printk(KERN_INFO, sdev, name,
> + "%sASC=0x%x %sASCQ=0x%x\n",
> + asc >= 0x80 ? "<<vendor>> " : "", asc,
> + ascq >= 0x80 ? "<<vendor>> " : "", ascq);
> }
> -
> - printk("\n");
> }
> EXPORT_SYMBOL(scsi_show_extd_sense);
>
> void
> -scsi_show_sense_hdr(struct scsi_sense_hdr *sshdr)
> +scsi_show_sense_hdr(struct scsi_device *sdev, const char *name,
> + struct scsi_sense_hdr *sshdr)
Add const for *sdev and *sshdr.
The latter requires also adding const to the argument in
scsi_sense_is_deferred() in scsi_eh.h.
...
> @@ -1419,12 +1426,11 @@ EXPORT_SYMBOL(scsi_show_sense_hdr);
> * Print normalized SCSI sense header with a prefix.
> */
> void
> -scsi_print_sense_hdr(const char *name, struct scsi_sense_hdr *sshdr)
> +scsi_print_sense_hdr(struct scsi_device *sdev, const char *name,
> + struct scsi_sense_hdr *sshdr)
Add const for *sdev and *sshdr.
...
> @@ -1513,33 +1519,26 @@ scsi_decode_sense_extras(const unsigned char
> *sense_buffer, int sense_len,
> }
>
> /* Normalize and print sense buffer with name prefix */
> -void __scsi_print_sense(const char *name, const unsigned char *sense_buffer,
> - int sense_len)
> +void __scsi_print_sense(struct scsi_device *sdev, const char *name,
> + const unsigned char *sense_buffer, int sense_len)
Add const for *sdev.
> {
> struct scsi_sense_hdr sshdr;
>
> - printk(KERN_INFO "%s: ", name);
> scsi_decode_sense_buffer(sense_buffer, sense_len, &sshdr);
> - scsi_show_sense_hdr(&sshdr);
> + scsi_show_sense_hdr(sdev, name, &sshdr);
> scsi_decode_sense_extras(sense_buffer, sense_len, &sshdr);
> - printk(KERN_INFO "%s: ", name);
> - scsi_show_extd_sense(sshdr.asc, sshdr.ascq);
> + scsi_show_extd_sense(sdev, name, sshdr.asc, sshdr.ascq);
> }
> EXPORT_SYMBOL(__scsi_print_sense);
>
> /* Normalize and print sense buffer in SCSI command */
> -void scsi_print_sense(char *name, struct scsi_cmnd *cmd)
> +void scsi_print_sense(struct scsi_cmnd *cmd)
...
Add const for *cmd.
---
Rob Elliott HP Server Storage
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html