On Thu, Oct 04 2007, Pierre Ossman wrote: > On Thu, 04 Oct 2007 09:19:40 -0700 > Don Mullis <[EMAIL PROTECTED]> wrote: > > > This patch fixes the boot. > > > > Fantastic. Then will try to get this upstream then.
I already put it in the sgchain drivers part. If you could please ack it, that would be nice :-). I have a bunch of driver updates/work-arounds there. > > > It looks like missing init of the sg list in mmc, does this work? > > > > > Jens, is this zeroing needed for each invocation, or really just once > to get the list in a known state? Once should actually be enough, so you could move it to init as well. Don, care to verify with the below patch as well? > Also, is chaining already upstream so Linus should have this for 2.6.23? No, it's for 2.6.24. diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c index b0abc7d..a5d0354 100644 --- a/drivers/mmc/card/queue.c +++ b/drivers/mmc/card/queue.c @@ -153,14 +153,14 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock blk_queue_max_hw_segments(mq->queue, bouncesz / 512); blk_queue_max_segment_size(mq->queue, bouncesz); - mq->sg = kmalloc(sizeof(struct scatterlist), + mq->sg = kzalloc(sizeof(struct scatterlist), GFP_KERNEL); if (!mq->sg) { ret = -ENOMEM; goto cleanup_queue; } - mq->bounce_sg = kmalloc(sizeof(struct scatterlist) * + mq->bounce_sg = kzalloc(sizeof(struct scatterlist) * bouncesz / 512, GFP_KERNEL); if (!mq->bounce_sg) { ret = -ENOMEM; @@ -177,7 +177,7 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock blk_queue_max_hw_segments(mq->queue, host->max_hw_segs); blk_queue_max_segment_size(mq->queue, host->max_seg_size); - mq->sg = kmalloc(sizeof(struct scatterlist) * + mq->sg = kzalloc(sizeof(struct scatterlist) * host->max_phys_segs, GFP_KERNEL); if (!mq->sg) { ret = -ENOMEM; -- Jens Axboe - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/