libata: print device model and firmware revision for ATAPI devices
PATCH 1/1 libata: print device model and firmware revision for ATAPI devices
For ATA/CFA devices, libata prints out the device model and firmware revision.
Do the same for ATAPI devices.
---
Sometimes the error happens after identify but before the SCSI messages. Knowing the device model and firmware revision could also help.
Dmesg looks like below after the patch.
ata1.00: ATA-6: WDC WD2000JB-00KFA0, 08.05J08, max UDMA/100 ata1.00: 390721968 sectors, multi 16: LBA48 ata5.00: ATAPI: LITE-ON CD-RW SOHR-5238S, 4S07, max UDMA/33 For your review, thanks.
drivers/ata/libata-core.c +10 -8
@@ -1900,6 +1900,13 @@ int ata_dev_configure(struct ata_deviceif (ata_msg_probe (ap))ata_dump_id (id); +/* SCSI only uses 4-char revisions, dump full 8 chars from ATA */ +ata_id_c_string (dev->id, fwrevbuf,ATA_ID_FW_REV , +sizeof (fwrevbuf)); + +ata_id_c_string (dev->id, modelbuf,ATA_ID_PROD , +sizeof (modelbuf)); +/* ATA-specific feature tests */ if (dev->class ==ATA_DEV_ATA ) {if (ata_id_is_cfa (id)) {
@@ -1914,13 +1921,6 @@ int ata_dev_configure(struct ata_device dev->n_sectors =ata_id_n_sectors (id); -/* SCSI only uses 4-char revisions, dump full 8 chars from ATA */ -ata_id_c_string (dev->id, fwrevbuf,ATA_ID_FW_REV , -sizeof (fwrevbuf)); - -ata_id_c_string (dev->id, modelbuf,ATA_ID_PROD , -sizeof (modelbuf)); -if (dev->id[59 ] &0x100 ) dev->multi_count = dev->id[59 ] &0xff ;
@@ -2009,7 +2009,9 @@ int ata_dev_configure(struct ata_device/* print device info to dmesg */ if (ata_msg_drv (ap) && print_info) -ata_dev_printk (dev,KERN_INFO ,"ATAPI, max %s%s\n" , +ata_dev_printk (dev,KERN_INFO , +"ATAPI: %s, %s, max %s%s\n" , + modelbuf, fwrevbuf,ata_mode_string (xfer_mask), cdb_intr_string); }
Quoted 9 lines · Albert Lee
For ATA/CFA devices, libata prints out the device model and firmware revision.
Do the same for ATAPI devices.Signed-off-by Albert Lee <[email protected]>---
Sometimes the error happens after identify but before the SCSI messages. Knowing the device model and firmware revision could also help.
Quoted 4 lines
Dmesg looks like below after the patch.
ata1.00: ATA-6: WDC WD2000JB-00KFA0, 08.05J08, max UDMA/100
ata1.00: 390721968 sectors, multi 16: LBA48 ata5.00: ATAPI: LITE-ON CD-RW SOHR-5238S, 4S07, max UDMA/33 For your review, thanks.
good idea... applied to #upstream-fixes