"m_sg->baseaddr_h" is a u32. We shift it 32 bits before casting it to dma_addr_t so the cast is too late. Fixes: f0c568a478f0 ('[SCSI] mvumi: Add Marvell UMI driver') Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> diff --git a/drivers/scsi/mvumi.c b/drivers/scsi/mvumi.c index 3e6b866..e7f5485 100644 --- a/drivers/scsi/mvumi.c +++ b/drivers/scsi/mvumi.c @@ -322,7 +322,7 @@ static void mvumi_delete_internal_cmd(struct mvumi_hba *mhba, sgd_getsz(mhba, m_sg, size); phy_addr = (dma_addr_t) m_sg->baseaddr_l | - (dma_addr_t) ((m_sg->baseaddr_h << 16) << 16); + (((dma_addr_t)m_sg->baseaddr_h << 16) << 16); pci_free_consistent(mhba->pdev, size, cmd->data_buf, phy_addr); -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html