Re: [PATCH 4.9 160/167] ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files

From: Sergey Shtylyov
Date: Mon Jun 13 2022 - 16:46:23 EST


On 6/13/22 1:10 PM, Greg Kroah-Hartman wrote:

> From: Sergey Shtylyov <s.shtylyov@xxxxxx>
>
> commit 72aad489f992871e908ff6d9055b26c6366fb864 upstream.
>
> The {dma|pio}_mode sysfs files are incorrectly documented as having a
> list of the supported DMA/PIO transfer modes, while the corresponding
> fields of the *struct* ata_device hold the transfer mode IDs, not masks.
>
> To match these docs, the {dma|pio}_mode (and even xfer_mode!) sysfs
> files are handled by the ata_bitfield_name_match() macro which leads to
> reading such kind of nonsense from them:
>
> $ cat /sys/class/ata_device/dev3.0/pio_mode
> XFER_UDMA_7, XFER_UDMA_6, XFER_UDMA_5, XFER_UDMA_4, XFER_MW_DMA_4,
> XFER_PIO_6, XFER_PIO_5, XFER_PIO_4, XFER_PIO_3, XFER_PIO_2, XFER_PIO_1,
> XFER_PIO_0
>
> Using the correct ata_bitfield_name_search() macro fixes that:
>
> $ cat /sys/class/ata_device/dev3.0/pio_mode
> XFER_PIO_4
>
> While fixing the file documentation, somewhat reword the {dma|pio}_mode
> file doc and add a note about being mostly useful for PATA devices to
> the xfer_mode file doc...
>
> Fixes: d9027470b886 ("[libata] Add ATA transport class")
> Signed-off-by: Sergey Shtylyov <s.shtylyov@xxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx>
> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> ---
> Documentation/ABI/testing/sysfs-ata | 5 +++--
> drivers/ata/libata-transport.c | 2 +-
> 2 files changed, 4 insertions(+), 3 deletions(-)
>
> --- a/Documentation/ABI/testing/sysfs-ata
> +++ b/Documentation/ABI/testing/sysfs-ata
> @@ -59,17 +59,18 @@ class
>
> dma_mode
>
> - Transfer modes supported by the device when in DMA mode.
> + DMA transfer mode used by the device.
> Mostly used by PATA device.
>
> pio_mode
>
> - Transfer modes supported by the device when in PIO mode.
> + PIO transfer mode used by the device.
> Mostly used by PATA device.
>
> xfer_mode
>
> Current transfer mode.
> + Mostly used by PATA device.
>

Again, needs s/device/devices/ as reported already...

MBR, Sergey