Bug 52270 - Pcmcia ethernet support is broken in Roswell2.
Summary: Pcmcia ethernet support is broken in Roswell2.
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel-pcmcia-cs
Version: 7.3
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brock Organ
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-08-22 09:06 UTC by Leonid Kanter
Modified: 2007-04-18 16:36 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2001-08-22 10:38:01 UTC
Embargoed:


Attachments (Terms of Use)

Description Leonid Kanter 2001-08-22 09:06:26 UTC
Pcmcia ethernet support is broken in Roswell2.

The problem is in following part of /etc/pcmcia/network:

'stop')
    #
    # We don't do anything here either. We get a hotplug event when
    # the ethX device is unregistered too...
    #
    ;;

It's wrong idea that physical removing of pcmcia card is a hotplug
event. Actually module removing is a hotplug event. But cardmgr is
unable to remove module, because module is busy with active eth
interface. Look what happenes whan I physically remove xircom ethernet
card:

Aug 22 11:05:13 localhost cardmgr[812]: shutting down socket 0
Aug 22 11:05:13 localhost cardmgr[812]: executing: './network stop eth0'
# interface must be deactivated by './network stop eth0' here
Aug 22 11:05:13 localhost cardmgr[812]: executing: 'modprobe -r xirc2ps_cs'
Aug 22 11:05:14 localhost cardmgr[812]: + xirc2ps_cs: Device or resource busy
Aug 22 11:05:14 localhost cardmgr[812]: modprobe exited with status 1

As a result, module with busy flag

Module                  Size  Used by
xirc2ps_cs             11488   1

will hang forewer untill you type 'ifconfig eth0 down' and 'rmmod
xirc2ps_cs' manually. Additionally, if you insert card again, it will
become eth1.

Aug 22 00:53:49 localhost cardmgr[801]: initializing socket 0
Aug 22 00:53:49 localhost cardmgr[801]: socket 0: Xircom CE3-10/100 Fast
Ethernet
Aug 22 00:53:49 localhost kernel: eth1: Xircom: port 0x320, irq 9, hwaddr
00:80:C7:C5:AF:C0
Aug 22 00:53:49 localhost cardmgr[801]: executing: './network start eth1'
Aug 22 00:55:19 localhost cardmgr[801]: shutting down socket 0
Aug 22 00:55:19 localhost cardmgr[801]: executing: './network stop eth1'
Aug 22 00:55:19 localhost cardmgr[801]: executing: 'modprobe -r xirc2ps_cs'
Aug 22 00:55:20 localhost cardmgr[801]: + xirc2ps_cs: Device or resource busy


After adding '/sbin/ifdown' to /etc/pcmcia/network:

'stop')
    /sbin/ifdown ${device:?}
    ;;

Everything works perfectly:

Aug 22 11:57:32 localhost cardmgr[812]: initializing socket 0
Aug 22 11:57:32 localhost cardmgr[812]: socket 0: Xircom CE3-10/100 Fast
Ethernet
Aug 22 11:57:32 localhost cardmgr[812]: executing: 'modprobe xirc2ps_cs'
Aug 22 11:57:32 localhost kernel: xirc2ps_cs.c 1.31 1998/12/09 19:32:55
(dd9jn+kvh)
Aug 22 11:57:32 localhost cardmgr[812]: executing: './network start eth0'
Aug 22 11:57:32 localhost kernel: eth0: Xircom: port 0x310, irq 3, hwaddr
00:80:C7:C5:AF:C0
Aug 22 11:57:35 localhost kernel: eth0: media 10BaseT, silicon revision 4

Aug 22 11:58:08 localhost cardmgr[812]: shutting down socket 0
Aug 22 11:58:08 localhost cardmgr[812]: executing: './network stop eth0'
Aug 22 11:58:10 localhost cardmgr[812]: executing: 'modprobe -r xirc2ps_cs'

Comment 1 Arjan van de Ven 2001-08-22 10:37:56 UTC
Bill: didn't you fix this 2 days ago ?

Comment 2 Bill Nottingham 2001-08-22 19:11:47 UTC
Yes, it's fixed in later kernel-pcmcia-cs (-8 or -9 or so.)


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