| Summary: | incomplete CDIOCREADSUBCHANNEL support in atapi-cd | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Tony Finch <dot> | ||||
| Component: | kern | Assignee: | freebsd-bugs (Nobody) <bugs> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | ||||||
| Priority: | Normal | ||||||
| Version: | 4.2-STABLE | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
|
Description
Tony Finch
2001-02-21 01:50:01 UTC
Following a conversation with sos about this I have tried the following patch which has the same end result (at least on my hardware) but takes a slightly different route. This patch needs some finishing to deal with the way the data is prepared for copyout(); I note that the CAM SCSI CD driver just copies the response data from the device straight into the user's args->data block. Tony. -- f.a.n.finch fanf@covalent.net dot@dotat.at CROMARTY: NORTHWESTERLY 5 TO 7, OCCASIONALLY GALE 8 IN NORTHEAST. SHOWERS. GOOD. Index: atapi-cd.c =================================================================== RCS file: /home/ncvs/src/sys/dev/ata/atapi-cd.c,v retrieving revision 1.48.2.9 diff -u -r1.48.2.9 atapi-cd.c --- atapi-cd.c 2001/01/29 18:07:18 1.48.2.9 +++ atapi-cd.c 2001/02/21 11:08:56 @@ -726,7 +726,8 @@ struct cd_sub_channel_info data; int len = args->data_len; int32_t abslba, rellba; - int8_t ccb[16] = { ATAPI_READ_SUBCHANNEL, 0, 0x40, 1, 0, 0, 0, + int8_t ccb[16] = { ATAPI_READ_SUBCHANNEL, 0, 0x40, + args->data_format, 0, 0, 0, sizeof(cdp->subchan)>>8, sizeof(cdp->subchan), 0, 0, 0, 0, 0, 0, 0 }; State Changed From-To: open->closed Dublicate of pr 26644, which contain a more complete set of patches. I need to find out how exactly I want this done though. |