Char: sx, fix io unmapping
board->base is increased for CF cards after mapping. Use board->base2 for unmapping the region, since it holds the original/correct address. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
24e6fd4cdc
Коммит
1361b7d359
|
@ -2504,7 +2504,7 @@ static void __devexit sx_remove_card(struct sx_board *board,
|
|||
del_timer(&board->timer);
|
||||
if (pdev) {
|
||||
#ifdef CONFIG_PCI
|
||||
pci_iounmap(pdev, board->base);
|
||||
pci_iounmap(pdev, board->base2);
|
||||
pci_release_region(pdev, IS_CF_BOARD(board) ? 3 : 2);
|
||||
#endif
|
||||
} else {
|
||||
|
@ -2703,7 +2703,7 @@ static int __devinit sx_pci_probe(struct pci_dev *pdev,
|
|||
|
||||
return 0;
|
||||
err_unmap:
|
||||
pci_iounmap(pdev, board->base);
|
||||
pci_iounmap(pdev, board->base2);
|
||||
err_reg:
|
||||
pci_release_region(pdev, reg);
|
||||
err_flag:
|
||||
|
|
Загрузка…
Ссылка в новой задаче