lkml.org 
[lkml]   [2007]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patches in this message
    /
    Date
    From
    SubjectRe: INITIO scsi driver fails to work properly
    On Mon, Dec 17 2007 at 13:41 +0200, "Filippos Papadopoulos" <psybases@gmail.com> wrote:
    > On Dec 17, 2007 1:18 PM, Andrew Morton <akpm@linux-foundation.org> wrote:
    >> On Mon, 17 Dec 2007 11:39:47 +0200 "Filippos Papadopoulos" <psybases@gmail.com> wrote:
    >>
    >>> Hi,
    >>> I have got an INITIO 9100 UW SCSI Controller with an IBM
    >>> IC35L036UWD210-0 scsi hard disk on a 32 bit x86 system.
    >>> Currently i have SUSE 10.1 (Kernel 2.6.16).
    >>>
    >>> I tried to install OpenSUSE 10.3 (kernel 2.6.22.5) and the latest
    >>> OpenSUSE 11.0 Alpha 0 (kernel 2.6.24-rc4) but although the initio
    >>> driver
    >>> gets loaded during the installation process, yast reports that no hard
    >>> disk is found. I believe that this isnt a bug in suse's yast but a
    >>> problem
    >>> in the initio scsi driver because i also tried to install Fedora 8
    >>> (kernel 2.6.23) with the same problem.
    >>> I have seen the relevant thread "Conflict when loading initio driver"
    >>> and i suppose that the initio driver isnt fixed yet.
    >>> I can help testing the new patches in the initio driver if someone is
    >>> interested.
    >> initio doesn't seem to have a maintainer...
    >>
    >> Are you able to identify any earlier kernel which worked OK?
    >>
    >
    > I have this PC configuration since 2002. The initio driver worked
    > perfectly with 2.4 kernel series.
    > With the release of 2.6 kernel series the driver had been marked as
    > BROKEN and fixed at 2.6.9
    > (see at http://www.gossamer-threads.com/lists/linux/kernel/482582?search_string=SCSI%20updates%20for%202.6.9;#482582
    > Christoph Hellwig ->don't mark the initio 9100 driver broken)
    >
    >
    >> Maybe it's a new device? If you can get the `lspci -vvxx' output
    >> for that device we can take a look.
    >>
    >
    > No its not a new device.
    > -

    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


    --------
    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) ?



    \
     
     \ /
      Last update: 2007-12-17 13:21    [W:0.024 / U:88.764 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site