Merge branches 'acpi-resources', 'acpi-battery', 'acpi-doc' and 'acpi-pnp'
[linux-2.6-block.git] / drivers / dma / sh / usb-dmac.c
index d5dad98bef0ba694227a50cef80706ea508f9e36..ebd8a5f398b08ee2bc883ccb06a7752657eb4877 100644 (file)
@@ -285,13 +285,13 @@ static int usb_dmac_desc_alloc(struct usb_dmac_chan *chan, unsigned int sg_len,
 
 static void usb_dmac_desc_free(struct usb_dmac_chan *chan)
 {
-       struct usb_dmac_desc *desc;
+       struct usb_dmac_desc *desc, *_desc;
        LIST_HEAD(list);
 
        list_splice_init(&chan->desc_freed, &list);
        list_splice_init(&chan->desc_got, &list);
 
-       list_for_each_entry(desc, &list, node) {
+       list_for_each_entry_safe(desc, _desc, &list, node) {
                list_del(&desc->node);
                kfree(desc);
        }
@@ -673,6 +673,7 @@ static struct dma_chan *usb_dmac_of_xlate(struct of_phandle_args *dma_spec,
  * Power management
  */
 
+#ifdef CONFIG_PM
 static int usb_dmac_runtime_suspend(struct device *dev)
 {
        struct usb_dmac *dmac = dev_get_drvdata(dev);
@@ -690,6 +691,7 @@ static int usb_dmac_runtime_resume(struct device *dev)
 
        return usb_dmac_init(dmac);
 }
+#endif /* CONFIG_PM */
 
 static const struct dev_pm_ops usb_dmac_pm = {
        SET_RUNTIME_PM_OPS(usb_dmac_runtime_suspend, usb_dmac_runtime_resume,