libata-eh.c (e4c26a1b74b559f86905de6443e592f248473fff) libata-eh.c (12980c1f2f8a926dd634e27c700014b3246a99ec)
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * libata-eh.c - libata error handling
4 *
5 * Copyright 2006 Tejun Heo <htejun@gmail.com>
6 *
7 * libata documentation is available via 'make {ps|pdf}docs',
8 * as Documentation/driver-api/libata.rst

--- 1803 unchanged lines hidden (view full) ---

1812 if (ata_eh_categorize_error(eflags, err_mask, &xfer_ok) == 0)
1813 return 0;
1814
1815 /* record error and determine whether speed down is necessary */
1816 ata_ering_record(&dev->ering, eflags, err_mask);
1817 verdict = ata_eh_speed_down_verdict(dev);
1818
1819 /* turn off NCQ? */
1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * libata-eh.c - libata error handling
4 *
5 * Copyright 2006 Tejun Heo <htejun@gmail.com>
6 *
7 * libata documentation is available via 'make {ps|pdf}docs',
8 * as Documentation/driver-api/libata.rst

--- 1803 unchanged lines hidden (view full) ---

1812 if (ata_eh_categorize_error(eflags, err_mask, &xfer_ok) == 0)
1813 return 0;
1814
1815 /* record error and determine whether speed down is necessary */
1816 ata_ering_record(&dev->ering, eflags, err_mask);
1817 verdict = ata_eh_speed_down_verdict(dev);
1818
1819 /* turn off NCQ? */
1820 if ((verdict & ATA_EH_SPDN_NCQ_OFF) &&
1821 (dev->flags & (ATA_DFLAG_PIO | ATA_DFLAG_NCQ |
1822 ATA_DFLAG_NCQ_OFF)) == ATA_DFLAG_NCQ) {
1820 if ((verdict & ATA_EH_SPDN_NCQ_OFF) && ata_ncq_enabled(dev)) {
1823 dev->flags |= ATA_DFLAG_NCQ_OFF;
1824 ata_dev_warn(dev, "NCQ disabled due to excessive errors\n");
1825 goto done;
1826 }
1827
1828 /* speed down? */
1829 if (verdict & ATA_EH_SPDN_SPEED_DOWN) {
1830 /* speed down SATA link speed if possible */

--- 2186 unchanged lines hidden ---
1821 dev->flags |= ATA_DFLAG_NCQ_OFF;
1822 ata_dev_warn(dev, "NCQ disabled due to excessive errors\n");
1823 goto done;
1824 }
1825
1826 /* speed down? */
1827 if (verdict & ATA_EH_SPDN_SPEED_DOWN) {
1828 /* speed down SATA link speed if possible */

--- 2186 unchanged lines hidden ---