From: Jiri Slaby Date: Mon, 13 Oct 2008 09:34:18 +0000 (+0100) Subject: Char: sx, fix io unmapping X-Git-Tag: v2.6.28-rc1~677 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=1361b7d3592b006574fb3cfeb21a02d520cca315;p=linux-2.6-omap-h63xx.git 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 Signed-off-by: Andrew Morton Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds --- diff --git a/drivers/char/sx.c b/drivers/char/sx.c index c385206f9db..5b8d7a1aa3e 100644 --- a/drivers/char/sx.c +++ b/drivers/char/sx.c @@ -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: