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 | 794 | printk(KERN_ERR "Sgiseeq: Cannot register net device, " |
| 795 | 795 | "aborting.\n"); |
| 796 | 796 | err = -ENODEV; |
| 797 | − goto err_out_free_page; | |
| 797 | + goto err_out_free_attrs; | |
| 798 | 798 | } |
| 799 | 799 | |
| 800 | 800 | printk(KERN_INFO "%s: %s %pM\n", dev->name, sgiseeqstr, dev->dev_addr); |
| 801 | 801 | |
| 802 | 802 | return 0; |
| 803 | 803 | |
| 804 | −err_out_free_page: | |
| 805 | − free_page((unsigned long) sp->srings); | |
| 804 | +err_out_free_attrs: | |
| 805 | + dma_free_attrs(&pdev->dev, sizeof(*sp->srings), sp->srings, | |
| 806 | + sp->srings_dma, DMA_ATTR_NON_CONSISTENT); | |
| 806 | 807 | err_out_free_dev: |
| 807 | 808 | free_netdev(dev); |
| 808 | 809 | |