Kevin,
is it also OK to specify both workarounds combined, i.e.
# echo 9 > /sys/module/sbp2/parameters/workarounds

The trouble is that 2nd generation iPods and 3rd generation iPods have
the same firmware_revision, vendor_id, model_id.  So we can only add one
driver-internal quirks list entry for both generations.  It doesn't
really hurt if we specify workaround 1 even if we don't need it --- it
limits the transfer size that can be done in a single SCSI request; i.e.
it will just cause a little bit more protocol overhead.  The workaround
8 however could make the very last sector inaccessible if we specified
it without actual need.

So, if you have the time for a really thorough test, the following would be 
good to investigate:
  - Enable workaround 1.
  - Fill the iPod up.  The last files written should be small to really use 
everything, i.e. the very last few files should be smaller than 512 bytes.
  - Unmount and unplug the iPod.
  - Enable workaround 1 and 8 (i.e. 9).
  - Try to read the last files written; watch out for any error messages in 
dmesg.

Unfortunately for you, only iPod gen. 3 owners will profit from that
test, because it will (hopefully) enable me to hardwire workaround 8
(and 1 of course) in the driver.

Regarding workaround 1:  I think I will actually implement a variation
of this workaround which defines the allowed requests even further,
based on the comment at
http://lxr.linux.no/linux+v2.6.28/drivers/firewire/fw-sbp2.c#L1390 .  I
suspect the transfer size limit which workaround 1 sets merely makes it
quite likely that no page tables are required as per that comment; the
real fix would be to actually guarantee that there won't be a page table
for 2nd gen. iPods.

-- 
Firewire IPOD does not work since upgrade to 8.10
https://bugs.launchpad.net/bugs/294391
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to