Subject: Re: current 1.6ZH: GENERIC_LAPTOP stops booting with Cardbus Card "Apaptec ADP-1480 SCSI" inserted
To: None <current-users@netbsd.org>
From: =?iso-8859-1?Q?Hilmar_B=F6hm?= <h.boehm@ndh.net>
List: current-users
Date: 01/19/2004 23:36:25
Thanks, Jaromir, for this quick answer.
After the Patch and a new kernel, it doesn't stop anymore.

dmesg:
...
ahc0 at cardbus0 dev 0 function 0: Adaptec ADP-1480 SCSI
ahc0: interrupting at 11
ahc0: CardBus device requires an SEEPROM
...

So far so good: But!

1. There is still no SCSI device like sd0 (of course I've attached SCSI
disks to the CardBus controller)
   Is there something missing in the kernel config file? The link?? between
     "sd* at scsibus? ..." or "st* at scsibus? ..."
    and
      "ahc* at cardbus? ..." / "scsibus* at scsi?"

    I don't know. But without a '/dev/sd0' I cannot mount any SCSI disk...

2. CardBus cards are not hotpluggable, obviously. Correct? As soon as I
insert the card, the whole system
   freezes immediately.

It would be nice to use my SCSI DAT tape on the nodebook for system backup
or SCSI disks for data exchange.

Thanks a lot and regards. / Hilmar.

--------------------------------------------------------

>Is this card supported?
>> At least it seems to be supported, when I look into the GENERIC_LAPTOP
>> config file.
>> But when I insert this card, the kernel stop at this point:


Seems the cardbus attachment was not updated when the ahc
driver was last updated.

This might fix the panic.


Index: ahc_cardbus.c
===================================================================
RCS file: /cvsroot/src/sys/dev/cardbus/ahc_cardbus.c,v
retrieving revision 1.12
diff -u -p -r1.12 ahc_cardbus.c
--- ahc_cardbus.c	20 Apr 2003 16:52:40 -0000	1.12
+++ ahc_cardbus.c	18 Jan 2004 23:35:18 -0000
@@ -214,6 +214,11 @@ ahc_cardbus_attach(parent, self, aux)
 	}
 	printf("%s: interrupting at %d\n", ahc_name(ahc), ca->ca_intrline);

+	ahc->seep_config = malloc(sizeof(*ahc->seep_config),
+				  M_DEVBUF, M_NOWAIT);
+	if (ahc->seep_config == NULL)
+		return;
+
 	ahc_check_extport(ahc, &sxfrctl1);
 	/*
 	 * Take the LED out of diagnostic mode.

Jaromir