Messages in this thread Patch in this message | | | From | Jiri Slaby <> | Subject | [PATCH 2/3] Char: sx, fix io unmapping | Date | Thu, 14 Aug 2008 18:25:53 +0200 |
| |
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> Cc: R.E.Wolff@BitWizard.nl --- drivers/char/sx.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/char/sx.c b/drivers/char/sx.c index c385206..5b8d7a1 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: -- 1.5.6.5
| |