From: Russell King Date: Mon, 10 Jun 2013 11:16:54 +0000 (+0100) Subject: DMA-API: net: brocade/bna/bnad.c: fix 32-bit DMA mask handling X-Git-Tag: v3.13-rc1~104^2~50 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3e5480791e3b0e239d2cd4e5ecd43a7d2585484b;p=pandora-kernel.git DMA-API: net: brocade/bna/bnad.c: fix 32-bit DMA mask handling The fallback to 32-bit DMA mask is rather odd: if (!dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) && !dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) { *using_dac = true; } else { err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); if (err) { err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32)); if (err) goto release_regions; } This means we only try and set the coherent DMA mask if we failed to set a 32-bit DMA mask, and only if both fail do we fail the driver. Adjust this so that if either setting fails, we fail the driver - and thereby end up properly setting both the DMA mask and the coherent DMA mask in the fallback case. Signed-off-by: Russell King --- Reading git-diff-tree failed