Maybe we should first determine that the regression is _really_ caused by this?
When testing yesterday I did a printk of any (unmodified) reads which would
touch the last sector and quite a few where not 8 sector reads, so if this
devices goes barf on any last sector including read of a different size then 8,
it will have troubles without the work around too.
First we need to determine what _exactly_ causes this device to become unhappy
(which should be trivial to test through dd), if I understand things sofar, the
device doesn't like if a read is done which stops one sector short of the last
sector. Such a read being done could happen without my split requests code
too, so making that conditional then wouldn't do any good, it would only make
the bug (much) less likely to get triggered, but it could still happen en
probably be reproduced by a trivial dd command.
Regards,
Hans
--