Pull bugzilla-7200 into release branch
[pandora-kernel.git] / sound / core / memalloc.c
index bc0bd09..f057430 100644 (file)
@@ -406,19 +406,17 @@ void snd_dma_free_pages(struct snd_dma_buffer *dmab)
  */
 size_t snd_dma_get_reserved_buf(struct snd_dma_buffer *dmab, unsigned int id)
 {
-       struct list_head *p;
        struct snd_mem_list *mem;
 
        snd_assert(dmab, return 0);
 
        mutex_lock(&list_mutex);
-       list_for_each(p, &mem_list_head) {
-               mem = list_entry(p, struct snd_mem_list, list);
+       list_for_each_entry(mem, &mem_list_head, list) {
                if (mem->id == id &&
                    (mem->buffer.dev.dev == NULL || dmab->dev.dev == NULL ||
                     ! memcmp(&mem->buffer.dev, &dmab->dev, sizeof(dmab->dev)))) {
                        struct device *dev = dmab->dev.dev;
-                       list_del(p);
+                       list_del(&mem->list);
                        *dmab = mem->buffer;
                        if (dmab->dev.dev == NULL)
                                dmab->dev.dev = dev;
@@ -488,7 +486,6 @@ static int snd_mem_proc_read(char *page, char **start, off_t off,
 {
        int len = 0;
        long pages = snd_allocated_pages >> (PAGE_SHIFT-12);
-       struct list_head *p;
        struct snd_mem_list *mem;
        int devno;
        static char *types[] = { "UNKNOWN", "CONT", "DEV", "DEV-SG", "SBUS" };
@@ -498,8 +495,7 @@ static int snd_mem_proc_read(char *page, char **start, off_t off,
                        "pages  : %li bytes (%li pages per %likB)\n",
                        pages * PAGE_SIZE, pages, PAGE_SIZE / 1024);
        devno = 0;
-       list_for_each(p, &mem_list_head) {
-               mem = list_entry(p, struct snd_mem_list, list);
+       list_for_each_entry(mem, &mem_list_head, list) {
                devno++;
                len += snprintf(page + len, count - len,
                                "buffer %d : ID %08x : type %s\n",