mtip32xx: Print exact time when an internal command is interrupted
authorAsai Thambi SP <asamymuthupa@micron.com>
Thu, 25 Feb 2016 05:16:38 +0000 (21:16 -0800)
committerJens Axboe <axboe@fb.com>
Thu, 3 Mar 2016 16:08:43 +0000 (09:08 -0700)
Print exact time when an internal command is interrupted.

Signed-off-by: Selvan Mani <smani@micron.com>
Signed-off-by: Rajesh Kumar Sambandam <rsambandam@micron.com>
Signed-off-by: Asai Thambi S P <asamymuthupa@micron.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/block/mtip32xx/mtip32xx.c

index be9ad9ca4fe165cf76eafa8d011f610989937bd8..9ae4cc5c61ee7de5a32adf69f90430e5e9bf69ea 100644 (file)
@@ -1092,6 +1092,7 @@ static int mtip_exec_internal_command(struct mtip_port *port,
        struct mtip_cmd *int_cmd;
        struct driver_data *dd = port->dd;
        int rv = 0;
+       unsigned long start;
 
        /* Make sure the buffer is 8 byte aligned. This is asic specific. */
        if (buffer & 0x00000007) {
@@ -1155,6 +1156,8 @@ static int mtip_exec_internal_command(struct mtip_port *port,
        /* Populate the command header */
        int_cmd->command_header->byte_count = 0;
 
+       start = jiffies;
+
        /* Issue the command to the hardware */
        mtip_issue_non_ncq_command(port, MTIP_TAG_INTERNAL);
 
@@ -1165,8 +1168,9 @@ static int mtip_exec_internal_command(struct mtip_port *port,
                                msecs_to_jiffies(timeout))) <= 0) {
                        if (rv == -ERESTARTSYS) { /* interrupted */
                                dev_err(&dd->pdev->dev,
-                                       "Internal command [%02X] was interrupted after %lu ms\n",
-                                       fis->command, timeout);
+                                       "Internal command [%02X] was interrupted after %u ms\n",
+                                       fis->command,
+                                       jiffies_to_msecs(jiffies - start));
                                rv = -EINTR;
                                goto exec_ic_exit;
                        } else if (rv == 0) /* timeout */