ata: pata_legacy: fix pdc20230_set_piomode()
authorSergey Shtylyov <s.shtylyov@omp.ru>
Fri, 28 Oct 2022 21:07:06 +0000 (00:07 +0300)
committerDamien Le Moal <damien.lemoal@opensource.wdc.com>
Mon, 31 Oct 2022 11:27:27 +0000 (20:27 +0900)
commit171a93182eccd6e6835d2c86b40787f9f832efaa
treec79ba4eb7710156cb9995bf2a3973c0a98149ae3
parent2ce3a0bf2010b16c78b78cc35a97fa913f1be0ca
ata: pata_legacy: fix pdc20230_set_piomode()

Clang gives a warning when compiling pata_legacy.c with 'make W=1' about
the 'rt' local variable in pdc20230_set_piomode() being set but unused.
Quite obviously, there is an outb() call missing to write back the updated
variable. Moreover, checking the docs by Petr Soucek revealed that bitwise
AND should have been done with a negated timing mask and the master/slave
timing masks were swapped while updating...

Fixes: 669a5db411d8 ("[libata] Add a bunch of PATA drivers.")
Reported-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Sergey Shtylyov <s.shtylyov@omp.ru>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
drivers/ata/pata_legacy.c