Re: INITIO scsi driver fails to work properly

Filippos Papadopoulos
2007-12-19T08:48:29Z

On Dec 17, 2007 2:18 PM, Boaz Harrosh <bharrosh@panasas.com> wrote:
> I have found one problem. Please try patch [2] below and report.
> If it still fails try to enable debugging by setting with patch [1]
> these values at top of drivers/scsi/initio.c. And send dmsgs.
>
> Boaz
>

I tried patch[2] (addition of sg++) at 2.6.24-rc5-mm1 but the
system hangs after some seconds when the initio driver loads.
I will try patch[1] next week to see what happens.

Would it be better to open a bug report at bugzilla?

>
> --------
> patch [1]
> --------
>
> diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
> index 4c4465d..61edcd2 100644
> --- a/drivers/scsi/initio.c
> +++ b/drivers/scsi/initio.c
> @@ -138,10 +138,10 @@ static struct pci_device_id i91u_pci_devices[] = {
> };
> MODULE_DEVICE_TABLE(pci, i91u_pci_devices);
>
> -#define DEBUG_INTERRUPT 0
> -#define DEBUG_QUEUE 0
> -#define DEBUG_STATE 0
> -#define INT_DISC 0
> +#define DEBUG_INTERRUPT 1
> +#define DEBUG_QUEUE 1
> +#define DEBUG_STATE 1
> +#define INT_DISC 1
>
> /*--- forward references ---*/
> static struct scsi_ctrl_blk *initio_find_busy_scb(struct initio_host * host, u16 tarlun);
>
>
> -----------
> patch [2]
> -----------
> git-diff --stat -p
> drivers/scsi/initio.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
> index 4c4465d..61595f6 100644
> --- a/drivers/scsi/initio.c
> +++ b/drivers/scsi/initio.c
> @@ -2616,6 +2616,7 @@ static void initio_build_scb(struct initio_host * host, struct scsi_ctrl_blk * c
> scsi_for_each_sg(cmnd, sglist, cblk->sglen, i) {
> sg->data = cpu_to_le32((u32)sg_dma_address(sglist));
> total_len += sg->len = cpu_to_le32((u32)sg_dma_len(sglist));
> + sg++;
> }
>
> cblk->buflen = (scsi_bufflen(cmnd) > total_len) ?
>
>
>