This code dereferences "page->pvr_dev" and then checked for NULL on the next line. Re-order it to avoid a potential NULL pointer dereference.
Unified · Split
| @@ -316,12 +316,14 @@ err_free_page: · 315 unmodified lines | |||
| 316 | static void | 316 | static void |
| 317 | pvr_mmu_backing_page_fini(struct pvr_mmu_backing_page *page) | 317 | pvr_mmu_backing_page_fini(struct pvr_mmu_backing_page *page) |
| 318 | { | 318 | { |
| 319 | struct device *dev = from_pvr_device(page->pvr_dev)->dev; | 319 | struct device *dev; |
| 320 | 320 | ||
| 321 | /* Do nothing if no allocation is present. */ | 321 | /* Do nothing if no allocation is present. */ |
| 322 | if (!page->pvr_dev) | 322 | if (!page->pvr_dev) |
| 323 | return; | 323 | return; |
| 324 | 324 | ||
| 325 | dev = from_pvr_device(page->pvr_dev)->dev; | ||
| 326 | |||
| 325 | dma_unmap_page(dev, page->dma_addr, PVR_MMU_BACKING_PAGE_SIZE, | 327 | dma_unmap_page(dev, page->dma_addr, PVR_MMU_BACKING_PAGE_SIZE, |
| 326 | DMA_TO_DEVICE); | 328 | DMA_TO_DEVICE); |
| 327 | 329 | ||