[libata] pata_rb532_cf: fix signature of the xfer function

Per definition, this function should return the number of bytes
consumed. As the original parameter "buflen" is being decremented inside
the read/write loop, save it in "retlen" at the beginning.

Signed-off-by: Phil Sutter <n0-1@freewrt.org>
Acked-by: Sergei Shtyltov <sshtylyov@ru.mvista.com>
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Acked-by: Florian Fainelli <florian@openwrt.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

authored by Phil Sutter and committed by Jeff Garzik 03f60840 9f14786e

+3 -1
+3 -1
drivers/ata/pata_rb532_cf.c
··· 74 rb532_pata_finish_io(ap); 75 } 76 77 - static void rb532_pata_data_xfer(struct ata_device *adev, unsigned char *buf, 78 unsigned int buflen, int write_data) 79 { 80 struct ata_port *ap = adev->link->ap; 81 void __iomem *ioaddr = ap->ioaddr.data_addr; 82 83 if (write_data) { 84 for (; buflen > 0; buflen--, buf++) ··· 90 } 91 92 rb532_pata_finish_io(adev->link->ap); 93 } 94 95 static void rb532_pata_freeze(struct ata_port *ap)
··· 74 rb532_pata_finish_io(ap); 75 } 76 77 + static unsigned int rb532_pata_data_xfer(struct ata_device *adev, unsigned char *buf, 78 unsigned int buflen, int write_data) 79 { 80 struct ata_port *ap = adev->link->ap; 81 void __iomem *ioaddr = ap->ioaddr.data_addr; 82 + int retlen = buflen; 83 84 if (write_data) { 85 for (; buflen > 0; buflen--, buf++) ··· 89 } 90 91 rb532_pata_finish_io(adev->link->ap); 92 + return retlen; 93 } 94 95 static void rb532_pata_freeze(struct ata_port *ap)