Incorrect card recognition

Larry W. Finger Larry.Finger at lwfinger.net
Fri Oct 3 19:19:21 BST 2003


At 04:30 PM 10/3/2003, David Hinds wrote:
>It would help to show system log messages.

With PCMCIA_DEBUG set to 3 in cs, ds and aha152x, the 'dmesg' lines related 
to the pcmcia system when the card is incorrectly recognized are as follows 
with some printouts augmented from the original:

Linux version 2.6.0-test6 (root at lwflap) (gcc version 3.3.1) #46 Fri Oct 3 
17:38:32 MST 2003
Yenta: CardBus bridge found at 0000:00:0a.0 [103c:0022]
Yenta: ISA IRQ list 0038, PCI irq11
Socket status: 30000007
cs: pcmcia_register_socket(0xc042bb00)
cs: bind_device(): client 0xce3ffef8, sock ce448c3c, dev Driver Services
cs: register_client(): client 0xce3ffef8, sock ce448c3c, dev Driver Services
ds_open(socket 0):<7> return 0
ds_open(socket 1):<7> return -ENODEV
ds_ioctl(socket 0, 0x80146401, 0xbfffeec0): <7>cmd = DS_GET_CARD_SERVICES_INFO
ds_ioctl: returns value of = 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_open(socket 0):<7> return 0
ds_open(socket 1):<7> return -ENODEV
ds_open(socket 1):<7> return -ENODEV
ds_ioctl(socket 0, 0xc0146402, 0x806ea28): <7>cmd = DS_ADJUST_RESOURCE_INFO
cs: IO port probe 0x0c00-0x0cff: clean.
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0146402, 0x806ea08): <7>cmd = DS_ADJUST_RESOURCE_INFO
cs: IO port probe 0x0820-0x08ff: clean.
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0146402, 0x806e9e8): <7>cmd = DS_ADJUST_RESOURCE_INFO
cs: IO port probe 0x0800-0x080f: clean.
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0146402, 0x806e9c8): <7>cmd = DS_ADJUST_RESOURCE_INFO
cs: IO port probe 0x03e0-0x04ff: excluding 0x4d0-0x4d7
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0146402, 0x806e9a8): <7>cmd = DS_ADJUST_RESOURCE_INFO
cs: IO port probe 0x0100-0x03af: excluding 0x2c8-0x2cf 0x378-0x37f
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0146402, 0x806ea48): <7>cmd = DS_ADJUST_RESOURCE_INFO
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0146402, 0x806ea88): <7>cmd = DS_ADJUST_RESOURCE_INFO
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0146402, 0x806ea68): <7>cmd = DS_ADJUST_RESOURCE_INFO
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0146402, 0x806eaa8): <7>cmd = DS_ADJUST_RESOURCE_INFO
cs: IO port probe 0x0a00-0x0aff: clean.
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0146402, 0x806eac8): <7>cmd = DS_ADJUST_RESOURCE_INFO
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0146402, 0x806eae8): <7>cmd = DS_ADJUST_RESOURCE_INFO
ds_ioctl: returns value of = 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
cs: send_event(sock 0, event 4, pri 0)
ds: ds_event(0x000004, 0, 0xce3ffef8)
ds_poll(socket 0): <7>return POLLIN | POLLRDNORM
ds_read(socket 0): <7>return from put_user
ds_ioctl(socket 0, 0x8004640b, 0xbfffeaa0): <7>cmd = DS_VALIDATE_CIS
cs: memory probe 0xa0000000-0xa0ffffff: clean.
ds_ioctl: pcmcia_validate_cis returns 0
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc00c6409, 0xbfffea90): <7>cmd = DS_GET_STATUS
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0206410, 0xbfffed20): <7>cmd = DS_GET_FIRST_REGION
cs: setup_regions(0xce3ffef8, 0, 0xce448d38)
cs: setup_regions(0xce3ffef8, 1, 0xce448d3c)
ds_ioctl: returns value of = -61
ds_ioctl(socket 0, 0xc0206410, 0xbfffed20): <7>cmd = DS_GET_FIRST_REGION
ds_ioctl: returns value of = -61
ds_ioctl(socket 0, 0xc050643c, 0x80716b8): <7>cmd = DS_BIND_REQUEST
bind_request(0, 'memory_cs')
ds_ioctl: returns value of = -22
ds_poll(socket 0): <7>return POLLIN | POLLRDNORM
ds_read(socket 0): <7>return from put_user
ds_ioctl(socket 0, 0xc00c6409, 0xbfffe9b0): <7>cmd = DS_GET_STATUS
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0486403, 0xbfffe880): <7>cmd = DS_GET_CONFIGURATION_INFO
ds_ioctl: returns value of = 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0
ds_poll(socket 0): <7>return 0

After the 'kill -HUP' of cardmgr, the following are added:

cs: send_event(sock 0, event 4, pri 0)
ds: ds_event(0x000004, 0, 0xce3ffef8)
ds_poll(socket 0): <7>return POLLIN | POLLRDNORM
ds_read(socket 0): <7>return from put_user
ds_ioctl(socket 0, 0x8004640b, 0xbfffeaa0): <7>cmd = DS_VALIDATE_CIS
ds_ioctl: pcmcia_validate_cis returns 0
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0206404, 0xbfffeaa0): <7>cmd = DS_GET_FIRST_TUPLE
ds_ioctl: returns value of = -61
ds_ioctl(socket 0, 0xc0206404, 0xbfffeaa0): <7>cmd = DS_GET_FIRST_TUPLE
ds_ioctl: returns value of = -61
ds_ioctl(socket 0, 0xc0206404, 0xbfffeaa0): <7>cmd = DS_GET_FIRST_TUPLE
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc2946406, 0xbfffeaa0): <7>cmd = DS_GET_TUPLE_DATA
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc2946407, 0xbfffeaa0): <7>cmd = DS_PARSE_TUPLE
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc0206404, 0xbfffeaa0): <7>cmd = DS_GET_FIRST_TUPLE
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc2946406, 0xbfffeaa0): <7>cmd = DS_GET_TUPLE_DATA
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc2946407, 0xbfffeaa0): <7>cmd = DS_PARSE_TUPLE
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc00c6409, 0xbfffea90): <7>cmd = DS_GET_STATUS
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc050643c, 0x8058b88): <7>cmd = DS_BIND_REQUEST
bind_request(0, 'aha152x_cs')
cs: bind_device(): client 0xcb32bef8, sock ce448c3c, dev aha152x_cs
aha152x_attach()
cs: CardServices(RegisterClient, 0xcc706f24, 0xc1b43c24)
cs: register_client(): client 0xcb32bef8, sock ce448c3c, dev aha152x_cs
aha152x_event(0x000004)
aha152x_config(0xcc706ef8)
cs: CardServices(GetFirstTuple, 0xcb32bef8, 0xc1b43998)
cs: CardServices(GetTupleData, 0xcb32bef8, 0xc1b43998)
cs: CardServices(ParseTuple, 0xcb32bef8, 0xc1b43998)
cs: CardServices(GetFirstTuple, 0xcb32bef8, 0xc1b43998)
cs: CardServices(GetTupleData, 0xcb32bef8, 0xc1b43998)
cs: CardServices(ParseTuple, 0xcb32bef8, 0xc1b43998)
cs: CardServices(RequestIO, 0xcb32bef8, 0xcc706f28)
cs: CardServices(RequestIRQ, 0xcb32bef8, 0xcc706f3c)
cs: CardServices(RequestConfiguration, 0xcb32bef8, 0xcc706f54)
scsi_register: sht->legacy_hosts list_head is NULL!
aha152x: resetting bus...
aha152x0: vital data: rev=1, io=0x340 (0x340/0x340), irq=3, scsiid=7, 
reconnect=enabled, parity=enabled, synchronous=disabled, delay=100, 
extended translation=disabled
aha152x0: trying software interrupt, ok.
scsi0 : Adaptec 152x SCSI driver; $Revision: 2.5 $
   Vendor: RICOH     Model: MP6200S           Rev: 2.20
   Type:   CD-ROM                             ANSI SCSI revision: 02
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc050643d, 0x8058b88): <7>cmd = DS_GET_DEVICE_INFO
ds_ioctl: returns value of = 0
ds_ioctl(socket 0, 0xc050643e, 0x8066650): <7>cmd = DS_GET_NEXT_DEVICE_INFO
ds_ioctl: returns value of = -19
ds_poll(socket 0): <7>return 0




More information about the linux-pcmcia mailing list