Re: Fw: PROBLEM: Linux V. 2.6.3 panics with "Buffers at physical address >16Mb used for aha1542" at boot time

Jens Axboe
2004-02-23T19:04:37Z

On Mon, Feb 23 2004, James Bottomley wrote:
> On Mon, 2004-02-23 at 10:48, Jens Axboe wrote:
> > Something half-assed like this should work as an immediate fix...
>
> But I don't see how this bounces the buffer? Without a bio, this simply
> passes req->data (which is cgc->buffer) into cmd->request_buffer in
> scsi_init_io(); but the problem was that this buffer is outside the
> dma_mask.

Duh you are right, I completely forgot about that. Well that really
settles the fact that it must be bio backed, and that use_sg should just
die in the same iteration.

It was a step in the wrong direction regardless, I'd love to kill ->data
eventually.

Anyways, I have another way to solve this without shaking
scsi_wait_req() up too much. The way I see it, you cannot implement what
you want there, you simply don't have access to everything you need to
make it possible. The best way is to add a few helpers to map to a (bio
backed) request and have sr/sd/st call these to set things up. I'll give
that a go.

--
Jens Axboe