Re: [Bug 1412] Copy from USB1 CF/SM reader stalls, no actual content is read (only directory structure)

From: Jens Axboe
Date: Fri Nov 07 2003 - 18:43:10 EST


On Fri, Nov 07 2003, Nicolas Mailhot wrote:
> Le ven 07/11/2003 à 09:24, Jens Axboe a écrit :
> > On Wed, Nov 05 2003, Alan Stern wrote:
>
> > > In any case, it quite likely _does_ point to a driver bug. But since
> > > sddr09_read_data() was handed this sg entry and didn't change it, if there
> > > is such a bug it must lie in a higher-level driver. Maybe the scsi layer,
> > > maybe the block layer, maybe the memory-management system, maybe the file
> > > system. That was my original point.
> >
> > Well, the sg entry looks perfectly valid. And that was my original
> > point :-). And that is why I said it looks like a driver bug, not in
> > upper layers. How much memory did the system that crashed have? If the
> > system has highmem, try testing with scsi_calculate_bounce_limit()
> > unconditionally returning BLK_BOUNCE_HIGH.
>
> The system has 1 GiB of memory, ie just enough to make stuff like
> radeonfb fail

Try with this debug patch then, does it work now?

===== drivers/scsi/scsi_lib.c 1.77 vs edited =====
--- 1.77/drivers/scsi/scsi_lib.c Tue Oct 14 09:28:06 2003
+++ edited/drivers/scsi/scsi_lib.c Fri Nov 7 10:08:52 2003
@@ -1215,6 +1215,7 @@

u64 scsi_calculate_bounce_limit(struct Scsi_Host *shost)
{
+#if 0
struct device *host_dev;

if (shost->unchecked_isa_dma)
@@ -1229,6 +1230,9 @@
* hardware have no practical limit.
*/
return BLK_BOUNCE_ANY;
+#else
+ return BLK_BOUNCE_HIGH;
+#endif
}

struct request_queue *scsi_alloc_queue(struct scsi_device *sdev)

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/