Messages in this thread |  | | | Date | Tue, 1 May 2012 19:26:34 +0200 | | From | Andi Shyti <> | | Subject | Re: [PATCH 07/17] hpsa: do not give up retry of driver cmds after only 3 retries |
| |
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); > }
|  |