Bug 52270 - Pcmcia ethernet support is broken in Roswell2.
Pcmcia ethernet support is broken in Roswell2.
Status: CLOSED RAWHIDE
Product: Red Hat Linux
Classification: Retired
Component: kernel-pcmcia-cs (Show other bugs)
7.3
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Arjan van de Ven
Brock Organ
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-08-22 05:06 EDT by Leonid Kanter
Modified: 2007-04-18 12:36 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-08-22 06:38:01 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Leonid Kanter 2001-08-22 05:06:26 EDT
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 06:37:56 EDT
Bill: didn't you fix this 2 days ago ?
Comment 2 Bill Nottingham 2001-08-22 15:11:47 EDT
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.