Date: Wed, 23 Apr 1997 22:25:18 -0700 (PDT) From: Simon Shapiro <Shimon@i-Connect.Net> To: freebsd-scsi@freebsd.org, freebsd-bugs@freebsd.org Subject: Panic in sys/scsi/scsiconf.c - Please Help... Message-ID: <XFMail.970423223607.Shimon@i-Connect.Net>
next in thread | raw e-mail | index | archive | help
I think I posted this before, but now I am stuck, and with no answers so
far. So here it is again:
I am calling scsi_attachdevs() from a device driver and getting PANIC:
extend_set: entry 1 already has storage
panic: scsi-attachdevs: malloc.
Upon close examination one sees the lines:
if(scbus == 0 || scbus->sc_link == 0
|| extend_set(scbusses, scsibus, scbus) == 0) {
panic("scsi_attachdevs: malloc");
...
When one examins the extend_set erorr message one sees quickly that it
returns zero (NULL) when it discovers that the storage being extended is
already extended.
I am a bit confused abouth this as if storage is already allocated, why
would extend_set try to extend it before checking? Also, why would it
return ZERO if there IS storage.
I am a bit confused.
BTW, this happens only on the 176th device on the SCSI bus, so it is a bit
difficult to see on most systems.
I have disabled the return 0 in extend_set for now, but really need someone
who understands this code to tell me which is the proper way of handling
it.
Thanx, Simon
us->sc_link == 0
|| extend_set(scbusses, scsibus, scbus) == 0) {
panic("scsi_attachdevs: malloc");
...
When one examins the extend_set erorr message one sees quickly that it
returns zero (NULL) when
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.970423223607.Shimon>
