Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 05e5b136 authored by Haavard Skinnemoen's avatar Haavard Skinnemoen Committed by Jens Axboe
Browse files

mmc: Add missing sg_init_table() call



mmc_init_queue only initializes the scatterlists with sg_init_table()
when using a bounce buffer. This leads to a BUG() when CONFIG_DEBUG_SG
is set.

Signed-off-by: default avatarHaavard Skinnemoen <hskinnemoen@atmel.com>
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent c7674030
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -180,12 +180,13 @@ 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 = kzalloc(sizeof(struct scatterlist) *
		mq->sg = kmalloc(sizeof(struct scatterlist) *
			host->max_phys_segs, GFP_KERNEL);
		if (!mq->sg) {
			ret = -ENOMEM;
			goto cleanup_queue;
		}
		sg_init_table(mq->sg, host->max_phys_segs);
	}

	init_MUTEX(&mq->thread_sem);