In commit 99cd149efe82 ("sgiseeq: replace use of dma_cache_wback_inv"), a call to 'get_zeroed_page()' has been turned into a call to 'dma_alloc_coherent()'. Only the remove function has been updated to turn the corresponding 'free_page()' into 'dma_free_attrs()'. The error hndling path of the probe function has not been updated. Fix it now. Rename the corresponding label to something more in line.
Unified · Split
| @@ -794,15 +794,16 @@ static int sgiseeq_probe(struct platform_device *pdev) · 793 unmodified lines | |||
| 794 | printk(KERN_ERR "Sgiseeq: Cannot register net device, " | 794 | printk(KERN_ERR "Sgiseeq: Cannot register net device, " |
| 795 | "aborting.\n"); | 795 | "aborting.\n"); |
| 796 | err = -ENODEV; | 796 | err = -ENODEV; |
| 797 | goto err_out_free_page; | 797 | goto err_out_free_attrs; |
| 798 | } | 798 | } |
| 799 | 799 | ||
| 800 | printk(KERN_INFO "%s: %s %pM\n", dev->name, sgiseeqstr, dev->dev_addr); | 800 | printk(KERN_INFO "%s: %s %pM\n", dev->name, sgiseeqstr, dev->dev_addr); |
| 801 | 801 | ||
| 802 | return 0; | 802 | return 0; |
| 803 | 803 | ||
| 804 | err_out_free_page: | 804 | err_out_free_attrs: |
| 805 | free_page((unsigned long) sp->srings); | 805 | dma_free_attrs(&pdev->dev, sizeof(*sp->srings), sp->srings, |
| 806 | sp->srings_dma, DMA_ATTR_NON_CONSISTENT); | ||
| 806 | err_out_free_dev: | 807 | err_out_free_dev: |
| 807 | free_netdev(dev); | 808 | free_netdev(dev); |
| 808 | 809 | ||