lkml.org 
[lkml]   [2008]   [Jan]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: INITIO scsi driver fails to work properly
    On Jan 11, 2008 7:16 AM, James Bottomley
    <James.Bottomley@hansenpartnership.com> wrote:
    >
    > On Fri, 2008-01-04 at 02:18 +0200, Filippos Papadopoulos wrote:
    > > First of all let me wish a happy new year.
    > > I come back from the vacations and i compiled the initio driver with
    > >
    > > #define DEBUG_INTERRUPT 1
    > > #define DEBUG_QUEUE 1
    > > #define DEBUG_STATE 1
    > > #define INT_DISC 1
    > >
    > > I used the sources from 2.6.24-rc6-git9 kernel. At kernel boot time the initio
    > > driver prints the following:
    > >
    > > " scsi: Initio INI-9X00U/UW SCSI device driver
    > > Find scb at c0c00000
    > > Append pend scb c0c00000;"
    > >
    > > After 3 seconds the whole system freezes there and i have to reboot.
    > >
    > >
    > >
    > > P.S here is the info from 'lspci -vv' running 2.6.16.13 kernel:
    > >
    > > "00:08.0 SCSI storage controller: Initio Corporation 360P (rev 02)
    > > Subsystem: Unknown device 9292:0202
    > > Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
    > > ParErr- Stepping- SERR- FastB2B-
    > > Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
    > > >TAbort- <TAbort- <MAbort- >SERR- <PERR-
    > > Latency: 32, Cache Line Size 08
    > > Interrupt: pin A routed to IRQ 11
    > > Region 0: I/O ports at d000 [size=256]
    >
    > This proves the BAR0 to be non zero, but I also take it from your report
    > that the
    >
    > initio: I/O port range 0x0 is busy.
    >
    > message is also gone?
    >


    I havent reported "initio: I/O port range 0x0 is busy."


    > > Region 1: Memory at ef000000 (32-bit, non-prefetchable) [size=4K]
    > > [virtual] Expansion ROM at 50000000 [disabled] [size=128K]
    > > "
    >
    > I think there's still one remaining bug from the sg_list conversion,
    > namely that cblk->sglen is never set, but it is used to count the number
    > of elements in the sg array. Could you try this patch (on top of
    > everything else) and see if the problem is finally fixed?
    >

    I applied the patch on 2.6.24-rc6-git9 but unfortunatelly same thing happens.


    > Thanks,
    >
    > James
    >
    > ---
    > diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
    > index 01bf018..d038459 100644
    > --- a/drivers/scsi/initio.c
    > +++ b/drivers/scsi/initio.c
    > @@ -2603,6 +2603,7 @@ static void initio_build_scb(struct initio_host * host, struct scsi_ctrl_blk * c
    > nseg = scsi_dma_map(cmnd);
    > BUG_ON(nseg < 0);
    > if (nseg) {
    > + cblk->sglen = nseg;
    > dma_addr = dma_map_single(&host->pci_dev->dev, &cblk->sglist[0],
    > sizeof(struct sg_entry) * TOTAL_SG_ENTRY,
    > DMA_BIDIRECTIONAL);
    >
    >
    >


    \
     
     \ /
      Last update: 2008-01-11 10:57    [W:2.249 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site