]> git.baikalelectronics.ru Git - kernel.git/commit
libata: fix reading concurrent positioning ranges log
authorTyler Erickson <tyler.erickson@seagate.com>
Thu, 2 Jun 2022 22:51:11 +0000 (16:51 -0600)
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>
Wed, 8 Jun 2022 03:19:08 +0000 (12:19 +0900)
commitd514c64a3072e220e0e5fceb5db7457802a38e12
treebd733a689379dd4baeb00bcbb73f1e9d5a0182dc
parentf2014dddec8eb3318e01809b6b17bc1254cdb114
libata: fix reading concurrent positioning ranges log

The concurrent positioning ranges log is not a fixed size and may depend
on how many ranges are supported by the device. This patch uses the size
reported in the GPL directory to determine the number of pages supported
by the device before attempting to read this log page.

This resolves this error from the dmesg output:
    ata6.00: Read log 0x47 page 0x00 failed, Emask 0x1

Cc: stable@vger.kernel.org
Fixes: 7d60b9441b72 ("libata: support concurrent positioning ranges log")
Signed-off-by: Tyler Erickson <tyler.erickson@seagate.com>
Reviewed-by: Muhammad Ahmad <muhammad.ahmad@seagate.com>
Tested-by: Michael English <michael.english@seagate.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
drivers/ata/libata-core.c