patch: AHA-1542 driver as a module

Trevor Johnson (trevor@jpj.net)
Mon, 5 Jan 1998 16:05:43 -0800 (PST)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--912357424-180974270-883998786=:185
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.3.96.980105155950.600B@ppp10.csudh.edu>

With recent kernels, when the aha1542 driver is compiled as a module,
attempts to load the module generate this error:

/lib/modules/2.1.76/scsi/aha1542.o: unresolved symbol scsi_sleep

After I made the attached changes, that error goes away. I'm able to load
and unload the module. I'm able to use my tape drive with no problems.
When I try to use my CDROM drive, I get these messages:

# mount /dev/sr0 /cdrom/
Detected scsi CD-ROM sr0 at scsi1, channel 0, id 4, lun 0
aha1542.c: Trying device reset for target 4
HACC aha1542.c: interrupt received, but no mail.
Sent BUS RESET to scsi host 1
mount: block device /dev/sr0 is write-protected, mounting read-only
mount: /dev/sr0 is not a valid block device

When I try to use the AHA-1542 driver while my PnP sound card (configured
by Tom Lees' kernel PnP) is in place, I get these messages:

Jan 5 02:54:37 topside kernel: Configuring Adaptec (SCSI-ID 7) at IO:334,
IRQ 10, DMA priority 6
Jan 5 02:54:37 topside kernel: scsi0 : Adaptec 1542
Jan 5 02:54:37 topside kernel: scsi : 1 host.
Jan 5 02:54:43 topside kernel: aha1542.c: Unable to abort command for
target 0
Jan 5 02:54:43 topside kernel: aha1542.c: Trying device reset for target
0
Jan 5 02:55:10 topside kernel: Sent BUS RESET to scsi host 0
Jan 5 02:55:26 topside kernel: aha1542.c: Unable to abort command for
target 1
Jan 5 02:55:26 topside kernel: aha1542.c: Trying device reset for target
1
Jan 5 02:55:54 topside kernel: Sent BUS RESET to scsi host 0
Jan 5 02:56:10 topside kernel: aha1542.c: Unable to abort command for
target 2
Jan 5 02:56:10 topside kernel: aha1542.c: Trying device reset for target
2
Jan 5 02:56:37 topside kernel: Sent BUS RESET to scsi host 0
Jan 5 02:56:53 topside kernel: aha1542.c: Unable to abort command for
target 3
Jan 5 02:56:53 topside kernel: aha1542.c: Trying device reset for target
3
Jan 5 02:57:20 topside kernel: Sent BUS RESET to scsi host 0
Jan 5 02:57:36 topside kernel: aha1542.c: Unable to abort command for
target 4
Jan 5 02:57:36 topside kernel: aha1542.c: Trying device reset for target
4
Jan 5 02:58:03 topside kernel: Sent BUS RESET to scsi host 0
Jan 5 02:58:19 topside kernel: aha1542.c: Unable to abort command for
target 5
Jan 5 02:58:19 topside kernel: aha1542.c: Trying device reset for target
5
Jan 5 02:58:46 topside kernel: Sent BUS RESET to scsi host 0
Jan 5 02:59:02 topside kernel: aha1542.c: Unable to abort command for
target 6
Jan 5 02:59:02 topside kernel: aha1542.c: Trying device reset for target
6
Jan 5 02:59:29 topside kernel: Sent BUS RESET to scsi host 0

The SCSI LED flashes occasionally while this happens, and at the end the
module gets loaded, but the SCSI bus doesn't get initialized properly. On
unloading, the driver prints:

Jan 5 03:09:01 topside kernel: scsi : 0 hosts.

A look at /proc/dma, /proc/ioports and /proc/interrupts shows the correct
resources being assigned to the driver while it's doing the resets, and
shows them deallocated after the module has been unloaded.

I haven't tried the 2.1.78 pre-patches, but by my reading of the second
one, it doesn't look as though the scsi_sleep problem is addressed in it.
___
Trevor Johnson

--912357424-180974270-883998786=:185
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="linux-2.1.77-local-scsi.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.980105031306.185B@ppp1.csudh.edu>
Content-Description: linux-2.1.77-local-scsi.diff

ZGlmZiAtcnVOIGxpbnV4LTIuMS43Ny1kaXN0L2RyaXZlcnMvc2NzaS9haGEx
NTQyLmMgbGludXgvZHJpdmVycy9zY3NpL2FoYTE1NDIuYw0KLS0tIGxpbnV4
LTIuMS43Ny1kaXN0L2RyaXZlcnMvc2NzaS9haGExNTQyLmMJU3VuIERlYyAy
MSAxNzowNDo0OCAxOTk3DQorKysgbGludXgvZHJpdmVycy9zY3NpL2FoYTE1
NDIuYwlTYXQgSmFuICAzIDIxOjQ1OjE3IDE5OTgNCkBAIC0zMyw2ICszMyw3
IEBADQogI2luY2x1ZGUgPGFzbS9pby5oPg0KICNpbmNsdWRlIDxsaW51eC9i
bGsuaD4NCiAjaW5jbHVkZSAic2NzaS5oIg0KKyNpbmNsdWRlICJzY3NpX3Ns
ZWVwLmgiDQogI2luY2x1ZGUgImhvc3RzLmgiDQogDQogDQpkaWZmIC1ydU4g
bGludXgtMi4xLjc3LWRpc3QvZHJpdmVycy9zY3NpL3Njc2kuYyBsaW51eC9k
cml2ZXJzL3Njc2kvc2NzaS5jDQotLS0gbGludXgtMi4xLjc3LWRpc3QvZHJp
dmVycy9zY3NpL3Njc2kuYwlTdW4gRGVjIDIxIDE3OjQ5OjQ5IDE5OTcNCisr
KyBsaW51eC9kcml2ZXJzL3Njc2kvc2NzaS5jCVN1biBKYW4gIDQgMTU6MjE6
MjMgMTk5OA0KQEAgLTYwNyw3ICs2MDcsNyBAQA0KICAgICAgICAgICAgIHsN
CiAgICAgICAgICAgICAgICAgU0NTSV9MT0dfU0NBTl9CVVMoNCxwcmludGso
IiVwICIsIHNjbWQpKTsNCiAgICAgICAgICAgICB9DQotICAgICAgICAgICAg
ICAgIFNDU0lfTE9HX1NDQU5fQlVTKDQscHJpbnRrKCJcbiIsIHNjbWQpKTsN
CisgICAgICAgICAgICAgICAgU0NTSV9MT0dfU0NBTl9CVVMoNCxwcmludGso
IiVwXG4iLCBzY21kKSk7DQogICAgICAgICB9DQogICAgIH0NCiB9DQpkaWZm
IC1ydU4gbGludXgtMi4xLjc3LWRpc3QvZHJpdmVycy9zY3NpL3Njc2lfZXJy
b3IuYyBsaW51eC9kcml2ZXJzL3Njc2kvc2NzaV9lcnJvci5jDQotLS0gbGlu
dXgtMi4xLjc3LWRpc3QvZHJpdmVycy9zY3NpL3Njc2lfZXJyb3IuYwlTdW4g
RGVjIDIxIDE3OjA0OjQ5IDE5OTcNCisrKyBsaW51eC9kcml2ZXJzL3Njc2kv
c2NzaV9lcnJvci5jCU1vbiBKYW4gIDUgMDE6NTI6MTYgMTk5OA0KQEAgLTM1
LDYgKzM1LDcgQEANCiAjaW5jbHVkZSAic2NzaS5oIg0KICNpbmNsdWRlICJo
b3N0cy5oIg0KICNpbmNsdWRlICJjb25zdGFudHMuaCINCisjaW5jbHVkZSAi
c2NzaV9zbGVlcC5oIg0KIA0KICNkZWZpbmUgU0hVVERPV05fU0lHUwkoc2ln
bWFzayhTSUdLSUxMKXxzaWdtYXNrKFNJR0lOVCl8c2lnbWFzayhTSUdURVJN
KSkNCiANCkBAIC00NDksMzQgKzQ1MCw2IEBADQogICAgKiBIZXksIHdlIGFy
ZSBkb25lLiAgTGV0J3MgbG9vayB0byBzZWUgd2hhdCBoYXBwZW5lZC4NCiAg
ICAqLw0KICAgcmV0dXJuIFNDcG50LT5laF9zdGF0ZTsNCi19DQotDQotU1RB
VElDDQotdm9pZCBzY3NpX3NsZWVwX2RvbmUgKHN0cnVjdCBzZW1hcGhvcmUg
KiBzZW0pDQotew0KLSAgICBpZiggc2VtICE9IE5VTEwgKQ0KLSAgICB7DQot
ICAgICAgICB1cChzZW0pOw0KLSAgICB9DQotfQ0KLQ0KLQ0KLXZvaWQgc2Nz
aV9zbGVlcCAoaW50IHRpbWVvdXQpDQotew0KLSAgICBzdHJ1Y3Qgc2VtYXBo
b3JlIHNlbSA9IE1VVEVYX0xPQ0tFRDsNCi0gICAgc3RydWN0IHRpbWVyX2xp
c3QgdGltZXI7DQotDQotICAgIHRpbWVyLmRhdGEgPSAodW5zaWduZWQgbG9u
ZykgJnNlbTsNCi0gICAgdGltZXIuZXhwaXJlcyA9IGppZmZpZXMgKyB0aW1l
b3V0Ow0KLSAgICB0aW1lci5mdW5jdGlvbiA9ICh2b2lkICgqKSh1bnNpZ25l
ZCBsb25nKSlzY3NpX3NsZWVwX2RvbmU7DQotICAgIA0KLSAgICBTQ1NJX0xP
R19FUlJPUl9SRUNPVkVSWSg1LHByaW50aygiU2xlZXBpbmcgZm9yIHRpbWVy
IHRpY3MgJWRcbiIsIHRpbWVvdXQpKTsNCi0gICAgDQotICAgIGFkZF90aW1l
cigmdGltZXIpOw0KLQ0KLSAgICBkb3duKCZzZW0pOw0KLSAgICANCi0gICAg
ZGVsX3RpbWVyKCZ0aW1lcik7DQogfQ0KIA0KIC8qDQpkaWZmIC1ydU4gbGlu
dXgtMi4xLjc3LWRpc3QvZHJpdmVycy9zY3NpL3Njc2lfc2xlZXAuaCBsaW51
eC9kcml2ZXJzL3Njc2kvc2NzaV9zbGVlcC5oDQotLS0gbGludXgtMi4xLjc3
LWRpc3QvZHJpdmVycy9zY3NpL3Njc2lfc2xlZXAuaAlXZWQgRGVjIDMxIDE2
OjAwOjAwIDE5NjkNCisrKyBsaW51eC9kcml2ZXJzL3Njc2kvc2NzaV9zbGVl
cC5oCVN1biBKYW4gIDQgMTI6NTg6NTAgMTk5OA0KQEAgLTAsMCArMSwyNCBA
QA0KK3ZvaWQgc2NzaV9zbGVlcF9kb25lIChzdHJ1Y3Qgc2VtYXBob3JlICog
c2VtKQ0KK3sNCisgICAgaWYoIHNlbSAhPSBOVUxMICkNCisgICAgew0KKyAg
ICAgICAgdXAoc2VtKTsNCisgICAgfQ0KK30NCisNCit2b2lkIHNjc2lfc2xl
ZXAgKGludCB0aW1lb3V0KQ0KK3sNCisgICAgc3RydWN0IHNlbWFwaG9yZSBz
ZW0gPSBNVVRFWF9MT0NLRUQ7DQorICAgIHN0cnVjdCB0aW1lcl9saXN0IHRp
bWVyOw0KKw0KKyAgICB0aW1lci5kYXRhID0gKHVuc2lnbmVkIGxvbmcpICZz
ZW07DQorICAgIHRpbWVyLmV4cGlyZXMgPSBqaWZmaWVzICsgdGltZW91dDsN
CisgICAgdGltZXIuZnVuY3Rpb24gPSAodm9pZCAoKikodW5zaWduZWQgbG9u
Zykpc2NzaV9zbGVlcF9kb25lOw0KKw0KKyAgICBTQ1NJX0xPR19FUlJPUl9S
RUNPVkVSWSg1LHByaW50aygiU2xlZXBpbmcgZm9yIHRpbWVyIHRpY3MgJWRc
biIsIHRpbWVvdXQpKTsNCisgICAgYWRkX3RpbWVyKCZ0aW1lcik7DQorDQor
ICAgIGRvd24oJnNlbSk7DQorDQorICAgIGRlbF90aW1lcigmdGltZXIpOw0K
K30NCmRpZmYgLXJ1TiBsaW51eC0yLjEuNzctZGlzdC9kcml2ZXJzL3Njc2kv
c3JfdmVuZG9yLmMgbGludXgvZHJpdmVycy9zY3NpL3NyX3ZlbmRvci5jDQot
LS0gbGludXgtMi4xLjc3LWRpc3QvZHJpdmVycy9zY3NpL3NyX3ZlbmRvci5j
CVR1ZSBEZWMgIDIgMTE6NDE6NDUgMTk5Nw0KKysrIGxpbnV4L2RyaXZlcnMv
c2NzaS9zcl92ZW5kb3IuYwlTdW4gSmFuICA0IDEzOjE0OjE0IDE5OTgNCkBA
IC0xNDcsNyArMTQ3LDcgQEANCiANCiBpbnQgc3JfY2RfY2hlY2soc3RydWN0
IGNkcm9tX2RldmljZV9pbmZvICpjZGkpDQogew0KLQl1bnNpZ25lZCBsb25n
ICAgc2VjdG9yLG1pbixzZWMsZnJhbWU7DQorCXVuc2lnbmVkIGxvbmcgICBz
ZWN0b3I7DQogCXVuc2lnbmVkIGNoYXIgICAqYnVmZmVyOyAgICAgLyogdGhl
IGJ1ZmZlciBmb3IgdGhlIGlvY3RsICovDQogCXVuc2lnbmVkIGNoYXIgICBj
bWRbMTJdOyAgICAgLyogdGhlIHNjc2ktY29tbWFuZCAqLw0KIAlpbnQgICAg
ICAgICAgICAgcmMsaXNfeGEsbm9fbXVsdGksbWlub3I7DQo=
--912357424-180974270-883998786=:185--