Ben Fennema wrote:

  
Ok, so the device is returning ILLEGAL_REQUESTS..
yes, definitely. :]
before all the if (SCpnt->device->ten) { ... } add:

scsi_queue_next_request(q, SCpnt);
result = 0;
break;

(so right after your printk)
That should retry all the illegal requests forever. Hopefully re-reading
the sector will work, otherwise you'll prolly hang something =]
ya, it hung... :]

ok.. so let's see if i get this straight. I assume that the order things happen in is something like :

1.    block device
2.    find partition info
3.    find sector size
4.    find block size
5.    find start block
6.    start writing
7.    stop writing
8.    if done writing goto 8. otherwise goto 4.
9.    call scsi_io_completion
10.  unblock device

i've seen that scsi_io_completion is only called from the interrupt routine for the device driver in sr.c and sd.c.  (btw... what's the difference between these two files?)
Well, this has nothing to do with UDF. It's the drive behaving poorly
when in packet mode.
ok.. would it help if i used a HP dvd200 drive instead? What kind of a driver do you guys use?

gustavo