Bug 6722
Summary: | second device open() (by periodic hal polling loop!) kills ongoing transfer (CD burner underruns, HDD hard resets) | ||
---|---|---|---|
Product: | IO/Storage | Reporter: | Andreas Mohr (andi) |
Component: | SCSI | Assignee: | io_scsi |
Status: | REJECTED INSUFFICIENT_DATA | ||
Severity: | high | CC: | greg, protasnb, tsg-swdev |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.17-rc6-mm2 (and others) | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Bug Depends on: | |||
Bug Blocks: | 5089 |
Description
Andreas Mohr
2006-06-20 01:17:54 UTC
I don't see how this is a usb issue, but reassigning to the usb-storage people to see if they have an idea... This is definatly not a USB issue, tho it affects USB more than other interfaces because error-recovery is very harsh. For some reason, the SCSI layer is allowing non-cdrecord commands to go to the drive, and the drive is getting confused. We've had lots of problems with HAL sending bogus commands to devices (which cause the device to report an error) in the past; HAL seems to send these commands without concern for how the device responds. The annoying behavior of HAL asside, if the device is open for use by cdrecord, other things should not be able to cause commands to be sent to the device. That's something the SCSI folks need to fix. Greg, please send this back to the SCSI folks. Ok, this is a scsi issue, not a USB specific thing... Indeed it's probably SCSI, since an important hint towards the end of the LKML discussion was: http://lkml.org/lkml/2006/6/21/371 where it's said that it should probably be implemented via a counter in scsi_device.h Given the multiple complaints about this issue (this particular discussion started by myself wasn't the first one about this problem, and of a particularly nasty kind was the recent cdrom.c PATCH/FIX, http://lkml.org/lkml/2006/8/16/229 ). I'll try looking into it after I managed to submit two patches on my ToDo list in case nobody beats me to it. Any status update on this problem please? Has it been resolved? Thanks. |