fdomain module crashes on load in 2.6.x
A message that is not in the archive (sent off-list or not yet received): [email protected]/
https://bugzilla.kernel.org/show_bug.cgi?id=1898
Andreas Hartmetz <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Regression|--- |No
--- Comment #4 from Andreas Hartmetz <[email protected]> ---
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: [email protected]
| 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: [email protected]
| 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.
Signature · 2 lines
You are receiving this mail because: You are watching the assignee of the bug.
https://bugzilla.kernel.org/show_bug.cgi?id=1898
--- Comment #5 from Andreas Hartmetz <[email protected]> --- Yeah, that was me clicking the wrong button. If you read from the second "[PATCH] fdomain screwup", you have the proper commit message.
Signature · 2 lines
You are receiving this mail because: You are watching the assignee of the bug.