Bug 7793 - don't enforce hotplugging of eth1394
Summary: don't enforce hotplugging of eth1394
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: IEEE1394 (show other bugs)
Hardware: i386 Linux
: P2 low
Assignee: Stefan Richter
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-08 14:34 UTC by Stefan Richter
Modified: 2007-05-02 07:55 UTC (History)
0 users

See Also:
Kernel Version: all
Subsystem:
Regression: ---
Bisected commit-id:


Attachments
ieee1394: eth1394: don't autoload by hotplug when ohci1394 starts (10.81 KB, patch)
2007-03-26 15:54 UTC, Stefan Richter
Details | Diff
ieee1394: eth1394: don't autoload by hotplug when ohci1394 starts (9.85 KB, patch)
2007-03-26 16:39 UTC, Stefan Richter
Details | Diff

Description Stefan Richter 2007-01-08 14:34:02 UTC
Currently, building eth1394 (IP over FireWire) hardwires an IPover1394 entry
into the local FireWire node's configuration ROM, i.e. the information about
local capabilities which is published by ieee1394 to all nodes on the bus. As
soon as a host adapter is set up (i.e. modprobe ohci1394), this IPover1394 entry
will cause a hotplug event and eth1394 will be autoloaded.

Administrators can prevent this by blacklisting eth1394 in
/etc/hotplug/blacklist and /etc/modprobe.conf. A lot of people do this because
they don't want eth1394 to alter the order of ethX devices, or because eth1394
creates difficulties with FireWire applications in userspace, or because they
just don't want to load eth1394 all the time.

This blacklisting has a minor drawback: The local node is advertizing IPover1394
capability even though it doesn't have this capability unless eth1394 is loaded.

Solution:
Provide a kernel configuration option which causes the IPover1394 entry not to
be hardwired into ieee1394 but to be added later by eth1394 when/if eth1394 is
loaded.
Comment 1 Stefan Richter 2007-03-26 15:54:32 UTC
Created attachment 10952 [details]
ieee1394: eth1394: don't autoload by hotplug when ohci1394 starts
Comment 2 Stefan Richter 2007-03-26 16:39:37 UTC
Created attachment 10953 [details]
ieee1394: eth1394: don't autoload by hotplug when ohci1394 starts

same change but without bloat from feature-removal-schedule procedure
Comment 3 Stefan Richter 2007-04-08 13:31:05 UTC
Some downstream bugs, for the record:

"don't configure automaticaly ethernet on firewire ports"
http://qa.mandriva.com/show_bug.cgi?id=20126

"Firewire ethernet borks Real ethernet."
http://qa.mandriva.com/show_bug.cgi?id=21963

"The eth1394 driver b0rks the network during/after install."
https://bugs.gentoo.org/show_bug.cgi?id=113924

"eth1394 loaded instead of via-rhine"
https://bugs.gentoo.org/show_bug.cgi?id=128962

"eth1394 grabs eth0 since coldplug went away"
https://bugs.gentoo.org/show_bug.cgi?id=157050
Comment 4 Stefan Richter 2007-05-02 07:12:58 UTC
fix merged for Linux 2.6.22-rc1
Comment 5 Stefan Richter 2007-05-02 07:55:44 UTC
PS:
Final patch:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=70093cfde8af52b0b9030d90f9004cbde38f2ff8

Unlike proposed in the bug description, the 2nd and final patch do not offer a
build-time choice between the old and the new behavior.  The old behavior can be
brought back by the following lines in /etc/modprobe.conf:
    install ohci1394 /sbin/modprobe eth1394; \
                     /sbin/modprobe --ignore-install ohci1394

Eth1394 will still be auto-loaded by hotplug if an _external_ IP-over-1394
capable device is detected.

Note You need to log in before you can comment on or make changes to this bug.