Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 30 Dec 2009 21:46:29 +0000 (13:46 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 30 Dec 2009 21:46:29 +0000 (13:46 -0800)
* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx:
  drivers/dma: Correct use after free
  drivers/dma: drop unnecesary memset
  ioat2,3: put channel hardware in known state at init
  async_tx: expand async raid6 test to cover ioatdma corner case
  ioat3: fix p-disabled q-continuation
  sh: fix DMA driver's descriptor chaining and cookie assignment
  dma: at_hdmac: correct incompatible type for argument 1 of 'spin_lock_bh'

1  2 
drivers/dma/at_hdmac.c
drivers/dma/dw_dmac.c

diff --combined drivers/dma/at_hdmac.c
@@@ -99,7 -99,7 +99,7 @@@ static struct at_desc *atc_alloc_descri
  }
  
  /**
 - * atc_desc_get - get a unsused descriptor from free_list
 + * atc_desc_get - get an unused descriptor from free_list
   * @atchan: channel we want a new descriptor for
   */
  static struct at_desc *atc_desc_get(struct at_dma_chan *atchan)
@@@ -815,7 -815,7 +815,7 @@@ atc_is_tx_complete(struct dma_chan *cha
        dev_vdbg(chan2dev(chan), "is_tx_complete: %d (d%d, u%d)\n",
                        cookie, done ? *done : 0, used ? *used : 0);
  
-       spin_lock_bh(atchan->lock);
+       spin_lock_bh(&atchan->lock);
  
        last_complete = atchan->completed_cookie;
        last_used = chan->cookie;
                ret = dma_async_is_complete(cookie, last_complete, last_used);
        }
  
-       spin_unlock_bh(atchan->lock);
+       spin_unlock_bh(&atchan->lock);
  
        if (done)
                *done = last_complete;
@@@ -1188,7 -1188,7 +1188,7 @@@ static int at_dma_resume_noirq(struct d
        return 0;
  }
  
 -static struct dev_pm_ops at_dma_dev_pm_ops = {
 +static const struct dev_pm_ops at_dma_dev_pm_ops = {
        .suspend_noirq = at_dma_suspend_noirq,
        .resume_noirq = at_dma_resume_noirq,
  };
diff --combined drivers/dma/dw_dmac.c
@@@ -1270,8 -1270,6 +1270,6 @@@ static int __init dw_probe(struct platf
                goto err_kfree;
        }
  
-       memset(dw, 0, sizeof *dw);
        dw->regs = ioremap(io->start, DW_REGLEN);
        if (!dw->regs) {
                err = -ENOMEM;
@@@ -1427,7 -1425,7 +1425,7 @@@ static int dw_resume_noirq(struct devic
        return 0;
  }
  
 -static struct dev_pm_ops dw_dev_pm_ops = {
 +static const struct dev_pm_ops dw_dev_pm_ops = {
        .suspend_noirq = dw_suspend_noirq,
        .resume_noirq = dw_resume_noirq,
  };