[Bug 1898] fdomain module crashes on load in 2.6.x

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=1898

Andreas Hartmetz <ahartmetz@xxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Regression|---                         |No

--- Comment #4 from Andreas Hartmetz <ahartmetz@xxxxxx> ---
For historical interest: relevant history is available at
https://archive.org/details/git-history-of-linux and the commit that most
likely fixed this bug is aa98a175adc4165908817b7b9881b60be659d0cc which fixed a
few things that were very fishy in fdomain.c.
... I probably don't have that hardware anymore though :)

    [PATCH] fdomain screwup

    | From: Andrew Morton
    | To: linux-scsi@xxxxxxxxxxxxxxx
    | Subject: fdomain screwup
    |
    | - fdomain_setup() is marked __init, but is called from non-__init
    |   fdomain_16x0_detect()
    |
    | - fdomain_setup() is declared in drivers/scsi/pcmcia/fdomain_stub.c as
    |   taking two arguments, but is implemented in fdomain_setup() taking a
    |   single argument.
    |
    |   Please, never ever ever put extern function declarations in .c files.
    |   Put it in a header file which is visible to the definition and to all
    |   callsites.
    |
    | - fdomain_setup() is declared static, hence the linkage fails.
    |
    | - fdomain_16x0_bus_reset() is implemented in drivers/scsi/fdomain.c but
    |   has static scope, so the call from drivers/scsi/pcmcia/fdomain_stub.c
    |   doesn't work.

    [I didn't find this to be the case, so I didn't fix it.]

    | - fdomain_16x0_bus_reset() has an extern declaration in
    |   drivers/scsi/pcmcia/fdomain_stub.c.  This should be moved to a header
    |   file which is visible to etc...    [PATCH] fdomain screwup

    | From: Andrew Morton
    | To: linux-scsi@xxxxxxxxxxxxxxx
    | Subject: fdomain screwup
    |
    | - fdomain_setup() is marked __init, but is called from non-__init
    |   fdomain_16x0_detect()
    |
    | - fdomain_setup() is declared in drivers/scsi/pcmcia/fdomain_stub.c as
    |   taking two arguments, but is implemented in fdomain_setup() taking a
    |   single argument.
    |
    |   Please, never ever ever put extern function declarations in .c files.
    |   Put it in a header file which is visible to the definition and to all
    |   callsites.
    |
    | - fdomain_setup() is declared static, hence the linkage fails.
    |
    | - fdomain_16x0_bus_reset() is implemented in drivers/scsi/fdomain.c but
    |   has static scope, so the call from drivers/scsi/pcmcia/fdomain_stub.c
    |   doesn't work.

    [I didn't find this to be the case, so I didn't fix it.]

    | - fdomain_16x0_bus_reset() has an extern declaration in
    |   drivers/scsi/pcmcia/fdomain_stub.c.  This should be moved to a header
    |   file which is visible to etc...

    Builds and loads.  No hardware to test.

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux