On 6/13/22 1:11 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. Missed s/device/devices/, as I've reported already... MBR, Sergey