[PATCH] mtip32xx: fix user_buffer check in exec_drive_command

From: David Milburn
Date: Wed Sep 12 2012 - 15:00:29 EST


Current user_buffer check is incorrect and causes hdparm to fail

# hdparm -I /dev/rssda
HDIO_DRIVE_CMD(identify) failed: Input/output error

/dev/rssda:

Patching linux-3.6-rc5 hdparm works as expected

# hdparm -I /dev/rssda
/dev/rssda:

ATA device, with non-removable media
Model Number: DELL_P320h-MTFDGAL350SAH
Serial Number: 00000000121302025F01
Firmware Revision: B1442808
<snip>

Reported-by: Tomas Henzl <thenzl@xxxxxxxxxx>
Signed-off-by: David Milburn <dmilburn@xxxxxxxxxx>
---
drivers/block/mtip32xx/mtip32xx.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
index a8fddeb..b24efe3 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -1900,7 +1900,7 @@ static int exec_drive_command(struct mtip_port *port, u8 *command,
int rv = 0, xfer_sz = command[3];

if (xfer_sz) {
- if (user_buffer)
+ if (!user_buffer)
return -EFAULT;

buf = dmam_alloc_coherent(&port->dd->pdev->dev,
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/