Opened 16 years ago
Closed 16 years ago
#3396 closed bug (fixed)
ahci_port.cpp: CDPlayer crashes on play
Reported by: | zaunpfahl | Owned by: | stippi |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Drivers/Disk | Version: | R1/pre-alpha1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | x86 |
Description
Hardware:
AD-7590S Slim SATA Optical on Abit iL-90mv, 945GT
Procedere:
Insert audio cd, start CDPlayer -> CDPlayer reads title correctly
Press Play -> panic "CDB has invalid direction mask"
add-ons/kernel/busses/scsi/ahci/ahci_port.cpp
commit 2008-05-24 21:27:44 UTC (rev 25650), line 827:
- isWrite = false;
+ panic("CDB has invalid direction mask");
Unless it is the boot device, is a panic really called for?
Change History (9)
comment:1 by , 16 years ago
Version: | R1 development |
---|
comment:2 by , 16 years ago
Version: | → R1 development |
---|
comment:3 by , 16 years ago
comment:4 by , 16 years ago
Congratulations, you found a bug. Some code is calling ahci with a CDB that has an invalid direction mask.
The panic should be changed later to abort the request in a non-debug build, to avoid DOS attacks. Right now it helps to identify bugs.
comment:5 by , 16 years ago
play_msf() in src/add-ons/kernel/drivers/disk/scsi/scsi_cd/scsi_cd.cpp doesn't set the direction mask in ccbFlags parameter of simple_exec. I can't fix this at this time.
comment:6 by , 16 years ago
I can fix it for you, should it be IN or OUT? Sorry if this is a dumb question, but I didn't read more code.
comment:7 by , 16 years ago
Owner: | changed from | to
---|
SCSI_DIR_NONE for all calls of simple_exec() in play_msf(), stop_audio(), pause_resume() and scan() functions. Thanks!
comment:9 by , 16 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Currently, there are way more panics in the code as there need to be, like ASSERTs in debug builds; it helps finding bugs, and be annoying, so they are fixed at one point :-)