diff --git a/kernel/drivers/can/sja1000/rtcan_adv_pci.c b/kernel/drivers/can/sja1000/rtcan_adv_pci.c index dc8ea2ee4da1c89dc12ba04d912764c32a8b2722..32cf71ee1f23936efba7706a4ddb3f6ac7ed9b20 100644 --- a/kernel/drivers/can/sja1000/rtcan_adv_pci.c +++ b/kernel/drivers/can/sja1000/rtcan_adv_pci.c @@ -158,14 +158,15 @@ static int rtcan_adv_pci_add_chan(struct pci_dev *pdev, (struct rtcan_adv_pci *)(*master_dev)->board_priv; master_board->slave_dev = dev; - if (offset) + if (offset) { base_addr = master_board->base_addr+offset; - else + } else { base_addr = pci_iomap(pdev, bar, ADV_PCI_BASE_SIZE); if (!base_addr) { ret = -EIO; goto failure; } + } } else { base_addr = pci_iomap(pdev, bar, ADV_PCI_BASE_SIZE) + offset; if (!base_addr) {