libata: Make ata_dev_set_mode() less verbose
authorDamien Le Moal <damien.lemoal@wdc.com>
Wed, 9 May 2018 00:28:10 +0000 (09:28 +0900)
committerTejun Heo <tj@kernel.org>
Thu, 10 May 2018 18:43:20 +0000 (11:43 -0700)
For a successful setting of the device transfer speed mode in
ata_dev_set_mode(), do not print the message
"ataX.XX: configured for xxx" if the EH context has the quiet flag set,
unless the device port is being reset.

This preserves the output of the message during device scan but removes
it in the case of a simple device revalidation such as trigerred by
enabling the NCQ I/O priority feature of the device
e.g. echo 1 > /sys/block/sdxx/device/ncq_iprio_enable

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/libata-core.c

index 8bc71ca..40caad1 100644 (file)
@@ -3573,9 +3573,11 @@ static int ata_dev_set_mode(struct ata_device *dev)
        DPRINTK("xfer_shift=%u, xfer_mode=0x%x\n",
                dev->xfer_shift, (int)dev->xfer_mode);
 
-       ata_dev_info(dev, "configured for %s%s\n",
-                    ata_mode_string(ata_xfer_mode2mask(dev->xfer_mode)),
-                    dev_err_whine);
+       if (!(ehc->i.flags & ATA_EHI_QUIET) ||
+           ehc->i.flags & ATA_EHI_DID_HARDRESET)
+               ata_dev_info(dev, "configured for %s%s\n",
+                            ata_mode_string(ata_xfer_mode2mask(dev->xfer_mode)),
+                            dev_err_whine);
 
        return 0;