aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block
diff options
context:
space:
mode:
authorAsai Thambi S P <asamymuthupa@micron.com>2012-05-29 21:41:47 -0400
committerJens Axboe <axboe@kernel.dk>2012-05-31 02:36:55 -0400
commit971890f25834e1e81ccb97b9413d0c2852d49208 (patch)
tree0310974c32b562ccad9e8d83b33c9a687ee5c522 /drivers/block
parent2df7aa96e75c4447e8bae0fd03b8c386c36ece40 (diff)
mtip32xx: Change HDIO_GET_IDENTITY to return stored data
For the ioctl command HDIO_GET_IDENTITY, return the stored copy of IDENTIFY DATA instead of sending the command to the device - similar to libata. Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block')
-rw-r--r--drivers/block/mtip32xx/mtip32xx.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/block/mtip32xx/mtip32xx.c b/drivers/block/mtip32xx/mtip32xx.c
index 4b057a7312d7..73d7caa3cae1 100644
--- a/drivers/block/mtip32xx/mtip32xx.c
+++ b/drivers/block/mtip32xx/mtip32xx.c
@@ -2295,13 +2295,12 @@ static int mtip_hw_ioctl(struct driver_data *dd, unsigned int cmd,
2295{ 2295{
2296 switch (cmd) { 2296 switch (cmd) {
2297 case HDIO_GET_IDENTITY: 2297 case HDIO_GET_IDENTITY:
2298 if (mtip_get_identify(dd->port, (void __user *) arg) < 0) { 2298 {
2299 dev_warn(&dd->pdev->dev, 2299 if (copy_to_user((void __user *)arg, dd->port->identify,
2300 "Unable to read identity\n"); 2300 sizeof(u16) * ATA_ID_WORDS))
2301 return -EIO; 2301 return -EFAULT;
2302 }
2303
2304 break; 2302 break;
2303 }
2305 case HDIO_DRIVE_CMD: 2304 case HDIO_DRIVE_CMD:
2306 { 2305 {
2307 u8 drive_command[4]; 2306 u8 drive_command[4];