From 6fdfed12e9b079ecae9ba7a76f6e8c0a1dbb2616 Mon Sep 17 00:00:00 2001 From: Viresh Kumar Date: Fri, 5 Aug 2011 15:32:45 +0530 Subject: [PATCH] --- yaml --- r: 273875 b: refs/heads/master c: 57001a606f845ce2eda21a0f23e6aab20ee0cb04 h: refs/heads/master i: 273873: a6516af6a2d36583667476a622b081644662a95d 273871: 59e149d627b28a64b0d70898d02b90070ef247ab v: v3 --- [refs] | 2 +- trunk/drivers/dma/amba-pl08x.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 290f131baf57..2a43ac15cf2e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0a2356572b1910cc977f4ccf3c9ee1ecab08327a +refs/heads/master: 57001a606f845ce2eda21a0f23e6aab20ee0cb04 diff --git a/trunk/drivers/dma/amba-pl08x.c b/trunk/drivers/dma/amba-pl08x.c index a59c3c47286c..849eab85514b 100644 --- a/trunk/drivers/dma/amba-pl08x.c +++ b/trunk/drivers/dma/amba-pl08x.c @@ -1174,7 +1174,9 @@ static int pl08x_prep_channel_resources(struct pl08x_dma_chan *plchan, num_llis = pl08x_fill_llis_for_desc(pl08x, txd); if (!num_llis) { - kfree(txd); + spin_lock_irqsave(&plchan->lock, flags); + pl08x_free_txd(pl08x, txd); + spin_unlock_irqrestore(&plchan->lock, flags); return -EINVAL; }