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

From: Andi Shyti
Date: Tue May 01 2012 - 13:26:44 EST


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-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/