]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 14 Jun 2022 16:41:45 +0000 (18:41 +0200)
commitaff343103de97bb56265393415d1fa749fb551c4
tree5109413f86a631bbf7c38889135d816c2228ac4f
parent776d2c552396e827d8fbaf9affefcd4aba4ad94b
libata: fix reading concurrent positioning ranges log

commit c745dfc541e78428ba3986f1d17fe1dfdaca8184 upstream.

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: fe22e1c2f705 ("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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/ata/libata-core.c