Skip to contentSkip to conversation

fdomain module crashes on load in 2.6.x

Bug 1898 [email protected] 1 participant 2 messages Jun 4, 2014 1 message not in the archive SCSI

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]/

#1 lore raw

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.