Merge tag 'ata-6.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal...
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Nov 2022 23:48:27 +0000 (16:48 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 3 Nov 2022 23:48:27 +0000 (16:48 -0700)
Pull ata fixes from Damien Le Moal:
 "Two driver fixes:

   - Fix the PIO mode configuration of the pdc20230 (pata_legacy)
     driver. This also removes a compilation warning with clang and W=1
     (Sergey)

   - Fix devm_platform_ioremap_resource() return value check in the
     palmld driver (Yang)"

* tag 'ata-6.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
  ata: palmld: fix return value check in palmld_pata_probe()
  ata: pata_legacy: fix pdc20230_set_piomode()

drivers/ata/pata_legacy.c
drivers/ata/pata_palmld.c

index 0a8bf09..03c5806 100644 (file)
@@ -315,9 +315,10 @@ static void pdc20230_set_piomode(struct ata_port *ap, struct ata_device *adev)
        outb(inb(0x1F4) & 0x07, 0x1F4);
 
        rt = inb(0x1F3);
-       rt &= 0x07 << (3 * adev->devno);
+       rt &= ~(0x07 << (3 * !adev->devno));
        if (pio)
-               rt |= (1 + 3 * pio) << (3 * adev->devno);
+               rt |= (1 + 3 * pio) << (3 * !adev->devno);
+       outb(rt, 0x1F3);
 
        udelay(100);
        outb(inb(0x1F2) | 0x01, 0x1F2);
index 400e651..51caa2a 100644 (file)
@@ -63,8 +63,8 @@ static int palmld_pata_probe(struct platform_device *pdev)
 
        /* remap drive's physical memory address */
        mem = devm_platform_ioremap_resource(pdev, 0);
-       if (!mem)
-               return -ENOMEM;
+       if (IS_ERR(mem))
+               return PTR_ERR(mem);
 
        /* request and activate power and reset GPIOs */
        lda->power = devm_gpiod_get(dev, "power", GPIOD_OUT_HIGH);