[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-scsi
Subject: Re: [PATCH 5/6] aha152x.c - Fix check_condition code-path
From: Randy Dunlap <rdunlap () xenotime ! net>
Date: 2007-07-31 18:40:21
Message-ID: 20070731114021.488735ec.rdunlap () xenotime ! net
[Download RAW message or body]
On Tue, 31 Jul 2007 10:59:51 +0300 Boaz Harrosh wrote:
> Randy Dunlap wrote:
> >
> > Since you grok all of that (above), maybe you can help here:
> >
> > With these 6 patches applied, I do the following:
> >
> > 1. insert PCMCIA aha152x card with SCSI drive attached (/dev/sdb4)
> > 2. mount -t vfat /dev/sdb4 /mnt/disk
> > 3. play with /mnt/disk
> > 4. umount /mnt/disk
> >
> > Now I would like to rmmod the aha152x_cs module, but its use count
> > is 2. Even if I eject the card, its use count stays at 2.
> > Maybe the reset or check_condition patch doesn't clean up correctly,
> > or one of them isn't releasing a used resource ?
> >
> > (this is 2.6.23-rc1 + your 6 patches + 1 acpi seq-file throttling fix.)
> >
>
> I had an hard look and a very careful line-by-line compare
> and I can't find anything obvious. Could you do a bisect.
> maybe it will give me a clue as to where to look. Also please
> Enable debug prints. Maybe the driver is stuck at some state
> and does not exit.
The good news is that this problem has nothing to do with this
patch series. The bad news is that this problem is there anyway.
When I umount /mnt/disk and then eject the SCSI adapter card,
a sync-cache SCSI command is sent to the LLD and its use count
increments, but the LLD cannot send this command to the drive.
The LLD never recovers from this situation.
[ 88.821277] pccard: card ejected from slot 0
[ 88.830891] sd 2:0:4:0: [sdb] Synchronizing SCSI cache
[ 88.836187] (scsi2:4:0) queue: f7fab1a0; cmd_len=10 pieces=0 size=0 cmnd=Synchronize Cac
he(10) 35 00 00 00 00 00 00 00 00 00
[ 88.847545] (scsi-1:-1:-1) (aha152x_internal_queue:1039) locking
[ 88.853528] (scsi-1:-1:-1) (aha152x_internal_queue:1039) locked
[ 88.859437] (scsi-1:-1:-1) (aha152x_internal_queue:1055) unlocking (locked at aha152x_in
ternal_queue:1039)
[ 88.869051] (scsi-1:-1:-1) (aha152x_internal_queue:1055) unlocked
[ 89.884469] (scsi-1:-1:-1) (aha152x_abort:1113) locking
[ 89.889717] (scsi-1:-1:-1) (aha152x_abort:1113) locked
[ 89.894835] (scsi-1:-1:-1) (aha152x_abort:1123) unlocking (locked at aha152x_abort:1113)
[ 89.902904] (scsi-1:-1:-1) (aha152x_abort:1123) unlocked
[ 89.908224] (scsi2:4:0) queue: f7fab1a0; cmd_len=6 pieces=0 size=0 cmnd=Test Unit Ready
00 00 00 00 00 00
[ 89.917878] (scsi-1:-1:-1) (aha152x_internal_queue:1039) locking
[ 89.923861] (scsi-1:-1:-1) (aha152x_internal_queue:1039) locked
[ 89.929764] (scsi-1:-1:-1) (aha152x_internal_queue:1055) unlocking (locked at aha152x_in
ternal_queue:1039)
[ 89.939375] (scsi-1:-1:-1) (aha152x_internal_queue:1055) unlocked
[ 90.415863] (scsi-1:-1:-1) (aha152x_abort:1113) locking
[ 90.421098] (scsi-1:-1:-1) (aha152x_abort:1113) locked
[ 90.426219] (scsi-1:-1:-1) (aha152x_abort:1123) unlocking (locked at aha152x_abort:1113)
[ 90.434289] (scsi-1:-1:-1) (aha152x_abort:1123) unlocked
[ 90.439593] (scsi-1:-1:-1) (aha152x_device_reset:1173) locking
[ 90.445412] (scsi-1:-1:-1) (aha152x_device_reset:1173) locked
[ 90.451134] (scsi-1:-1:-1) (aha152x_device_reset:1176) unlocking (locked at aha152x_devi
ce_reset:1173)
[ 90.460413] (scsi-1:-1:-1) (aha152x_device_reset:1176) unlocked
[ 90.466319] (scsi2:4:0) queue: f7fab1a0; cmd_len=0 pieces=0 size=0 cmnd=Synchronize Cach
e(10) 35 00 00 00 00 00 00 00 00 00
[ 90.477686] (scsi2:4:0) cannot reuse command
---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic