Hi Santosh,
Below is the original function in your patch:
+static int ufshcd_abort(struct scsi_cmnd *cmd)
+{
+ struct Scsi_Host *host;
+ struct ufs_hba *hba;
+ unsigned long flags;
+ unsigned int tag;
+ unsigned int pos;
+ int err;
+
+ host = cmd->device->h
On Mon, Feb 6, 2012 at 12:46 PM, Amit Sahrawat
wrote:
> Hi,
>
> In function:
> +static int ufshcd_abort(struct scsi_cmnd *cmd)
> +{...
> - int err;
> + int err = -1;
> ...
> + spin_lock_irqsave(host->host_lock, flags);
> + pos = (1 << tag);
> +
> + /* check if command
Hi,
In function:
+static int ufshcd_abort(struct scsi_cmnd *cmd)
+{...
- int err;
+ int err = -1;
...
+ spin_lock_irqsave(host->host_lock, flags);
+ pos = (1 << tag);
+
+ /* check if command is still pending */
+ if (!(hba->outstanding_reqs & pos)) {
-
On Sun, Feb 5, 2012 at 1:07 PM, Namjae Jeon wrote:
>> +
>> +/**
>> + * ufshcd_abort - abort a specific command
>> + * @cmd: SCSI command pointer
>> + *
>> + * Returns 0 on success, non-zero value on failure
>> + */
>> +static int ufshcd_abort(struct scsi_cmnd *cmd)
>> +{
>> + struct Scsi_Hos
> +
> +/**
> + * ufshcd_abort - abort a specific command
> + * @cmd: SCSI command pointer
> + *
> + * Returns 0 on success, non-zero value on failure
> + */
> +static int ufshcd_abort(struct scsi_cmnd *cmd)
> +{
> + struct Scsi_Host *host;
> + struct ufs_hba *hba;
> + unsigned lon
From: Santosh Yaraganavi
UFSHCD SCSI error handling includes following implementations,
- Abort task
- Device reset
- Host reset
Signed-off-by: Santosh Yaraganavi
Signed-off-by: Vinayak Holikatti
Reviewed-by: Arnd Bergmann
Reviewed-by: Saugata Das
Reviewed-by: Vishak G
Reviewed-by: Giris