Skip to contentSkip to conversation

Vortex 3c900 passing driver parameters

DISCUSSION Randy.Dunlap 2 participants 3 messages Oct 15, 2003

lore
Share & tools
lore
#0 lore raw

Andrew Morton wrote:

| Karel Kulhavý <[email protected]> wrote:
| >
| > Hello
| > 
| > How do I do a ether=... (kernel boot-time) equivalent of
| > insmod 3c59x.o options=0x201 full_duplex=1 ?
| 
| Unfortunately you cannot.  `ether=' is broken for all drivers which use the
| new(ish) alloc_etherdev() API.
| 
| It is due to ordering problems: the name of the interface is not known at
| the time of parsing the setup info and nobody has got down and worked out
| how to fix it.

Does this ordering problem apply to both 2.4.current and 2.6.0-test?

--
~Randy

#1 lore raw
Quoted 16 lines · Randy.Dunlap

Andrew Morton wrote:

| Karel Kulhavý <[email protected]> wrote:
| >
| > Hello
| > 
| > How do I do a ether=... (kernel boot-time) equivalent of
| > insmod 3c59x.o options=0x201 full_duplex=1 ?
| 
| Unfortunately you cannot.  `ether=' is broken for all drivers which use the
| new(ish) alloc_etherdev() API.
| 
| It is due to ordering problems: the name of the interface is not known at
| the time of parsing the setup info and nobody has got down and worked out
| how to fix it.
Quoted 1 line

Does this ordering problem apply to both 2.4.current and 2.6.0-test?

Well it was a problem a year or so ago.

But init_netdev()'s call to netdev_boot_setup_check() looks like it should fix things up, so I'm not sure what's going on...

#2 lore raw

On Tue, 14 Oct 2003 21:13:16 -0700 Andrew Morton <[email protected]> wrote:

| "Randy.Dunlap" <[email protected]> wrote:
| >
| > Andrew Morton wrote:
| > | Karel Kulhavý <[email protected]> wrote:
| > | >
| > | > Hello
| > | > 
| > | > How do I do a ether=... (kernel boot-time) equivalent of
| > | > insmod 3c59x.o options=0x201 full_duplex=1 ?
| > | 
| > | Unfortunately you cannot.  `ether=' is broken for all drivers which use the
| > | new(ish) alloc_etherdev() API.
| > | 
| > | It is due to ordering problems: the name of the interface is not known at
| > | the time of parsing the setup info and nobody has got down and worked out
| > | how to fix it.
| > 
| > Does this ordering problem apply to both 2.4.current and 2.6.0-test?
| 
| Well it was a problem a year or so ago.
| 
| But init_netdev()'s call to netdev_boot_setup_check() looks like it
| should fix things up, so I'm not sure what's going on...

[I'm looking at 2.4.22 since that is where the problem was reported.]

I don't see anything in 3c59x.c that calls init_netdev(). vortex_probe1() calls alloc_etherdev().
It doesn't call init_etherdev() -> init_netdev(), AFAICT. ??

But I agree with you, I think there is still an ordering problem.

--
~Randy