Skip to content

Commit

Permalink
[libata] pata_rb532_cf: fix signature of the xfer function
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Phil Sutter authored and Jeff Garzik committed Dec 1, 2008
1 parent 9f14786 commit 03f6084
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion drivers/ata/pata_rb532_cf.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,11 +74,12 @@ static void rb532_pata_exec_command(struct ata_port *ap,
rb532_pata_finish_io(ap);
}

static void rb532_pata_data_xfer(struct ata_device *adev, unsigned char *buf,
static unsigned int rb532_pata_data_xfer(struct ata_device *adev, unsigned char *buf,
unsigned int buflen, int write_data)
{
struct ata_port *ap = adev->link->ap;
void __iomem *ioaddr = ap->ioaddr.data_addr;
int retlen = buflen;

if (write_data) {
for (; buflen > 0; buflen--, buf++)
Expand All @@ -89,6 +90,7 @@ static void rb532_pata_data_xfer(struct ata_device *adev, unsigned char *buf,
}

rb532_pata_finish_io(adev->link->ap);
return retlen;
}

static void rb532_pata_freeze(struct ata_port *ap)
Expand Down

0 comments on commit 03f6084

Please sign in to comment.