Re: [PATCH 07/17] hpsa: do not give up retry of driver cmds after only 3 retries

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

> --- a/drivers/scsi/hpsa.c
> +++ b/drivers/scsi/hpsa.c
> @@ -1380,17 +1380,24 @@ static void hpsa_scsi_do_simple_cmd_core_if_no_lockup(struct ctlr_info *h,
>  	}
>  }
>  
> +#define MAX_DRIVER_CMD_RETRIES 25
>  static void hpsa_scsi_do_simple_cmd_with_retry(struct ctlr_info *h,
>  	struct CommandList *c, int data_direction)
>  {
> -	int retry_count = 0;
> +	int backoff_time = 10, retry_count = 0;
>  
>  	do {
>  		memset(c->err_info, 0, sizeof(*c->err_info));
>  		hpsa_scsi_do_simple_cmd_core(h, c);
>  		retry_count++;
> +		if (retry_count > 3) {
> +			msleep(backoff_time);

for 10ms isn't it better to avoid using msleep?

Andi

> +			if (backoff_time < 1000)
> +				backoff_time *= 2;
> +		}
>  	} while ((check_for_unit_attention(h, c) ||
> -			check_for_busy(h, c)) && retry_count <= 3);
> +			check_for_busy(h, c)) &&
> +			retry_count <= MAX_DRIVER_CMD_RETRIES);
>  	hpsa_pci_unmap(h->pdev, c, 1, data_direction);
>  }
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux