]> 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)
commit636bd311e865462aef24a3ec6c21dad74af9299c
treebd733a689379dd4baeb00bcbb73f1e9d5a0182dc
parent62407924ec723ef2f06dd86586a8437a4db75ecd
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: 863b1191e29c ("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