diff options
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/amba-pl08x.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c index a59c3c47286c..849eab85514b 100644 --- a/drivers/dma/amba-pl08x.c +++ b/drivers/dma/amba-pl08x.c | |||
@@ -1174,7 +1174,9 @@ static int pl08x_prep_channel_resources(struct pl08x_dma_chan *plchan, | |||
1174 | 1174 | ||
1175 | num_llis = pl08x_fill_llis_for_desc(pl08x, txd); | 1175 | num_llis = pl08x_fill_llis_for_desc(pl08x, txd); |
1176 | if (!num_llis) { | 1176 | if (!num_llis) { |
1177 | kfree(txd); | 1177 | spin_lock_irqsave(&plchan->lock, flags); |
1178 | pl08x_free_txd(pl08x, txd); | ||
1179 | spin_unlock_irqrestore(&plchan->lock, flags); | ||
1178 | return -EINVAL; | 1180 | return -EINVAL; |
1179 | } | 1181 | } |
1180 | 1182 | ||