Messages in this thread Patch in this message | | | Subject | [PATCH 2/2] pata_it821x: Use common error handling code in it821x_firmware_command() | From | SF Markus Elfring <> | Date | Fri, 16 Feb 2018 15:23:53 +0100 |
| |
From: Markus Elfring <elfring@users.sourceforge.net> Date: Fri, 16 Feb 2018 14:40:42 +0100
Add a jump target so that a bit of exception handling can be better reused at the end of this function.
Reorder three function calls.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> --- drivers/ata/pata_it821x.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/ata/pata_it821x.c b/drivers/ata/pata_it821x.c index 46eacb6b93dd..6470112e5b48 100644 --- a/drivers/ata/pata_it821x.c +++ b/drivers/ata/pata_it821x.c @@ -675,9 +675,8 @@ static u8 *it821x_firmware_command(struct ata_port *ap, u8 cmd, int len) while(n++ < 10) { status = ioread8(ap->ioaddr.status_addr); if (status & ATA_ERR) { - kfree(buf); printk(KERN_ERR "it821x_firmware_command: rejected\n"); - return NULL; + goto free_buffer; } if (status & ATA_DRQ) { ioread16_rep(ap->ioaddr.data_addr, buf, len/2); @@ -687,6 +686,8 @@ static u8 *it821x_firmware_command(struct ata_port *ap, u8 cmd, int len) } - kfree(buf); + printk(KERN_ERR "it821x_firmware_command: timeout\n"); +free_buffer: + kfree(buf); return NULL; } -- 2.16.1
| |