aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2008-10-13 10:34:18 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-13 09:51:39 -0700
commit1361b7d3592b006574fb3cfeb21a02d520cca315 (patch)
treeeff43bb8794ed26439c7ecf11ad60eae353fb80b
parent24e6fd4cdc841176ca3713fddc9a02bd128b1191 (diff)
downloadkernel_samsung_smdk4412-1361b7d3592b006574fb3cfeb21a02d520cca315.zip
kernel_samsung_smdk4412-1361b7d3592b006574fb3cfeb21a02d520cca315.tar.gz
kernel_samsung_smdk4412-1361b7d3592b006574fb3cfeb21a02d520cca315.tar.bz2
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>
-rw-r--r--drivers/char/sx.c4
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: