aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2010-04-15 13:01:53 -0400
committerDominik Brodowski <linux@dominikbrodowski.net>2010-04-15 13:01:53 -0400
commit41b97ab5050088cd23692d578e7294c7be26109a (patch)
tree4d98ef5ca872bb275b749ac2306daf72f15bdcb7 /drivers
parentb1095afe6fd6ea4c0d9e75489b955f898d6617d9 (diff)
pcmcia: fix ioport size calculation in rsrc_nonstatic
Size needs to be calculated after manipulating with the start value. Reported-by: Komuro <komurojun-mbn@nifty.com> Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pcmcia/rsrc_nonstatic.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstatic.c
index 1178a823fbc6..a6eb7b59ba9f 100644
--- a/drivers/pcmcia/rsrc_nonstatic.c
+++ b/drivers/pcmcia/rsrc_nonstatic.c
@@ -810,7 +810,7 @@ static int adjust_memory(struct pcmcia_socket *s, unsigned int action, unsigned
810static int adjust_io(struct pcmcia_socket *s, unsigned int action, unsigned long start, unsigned long end) 810static int adjust_io(struct pcmcia_socket *s, unsigned int action, unsigned long start, unsigned long end)
811{ 811{
812 struct socket_data *data = s->resource_data; 812 struct socket_data *data = s->resource_data;
813 unsigned long size = end - start + 1; 813 unsigned long size;
814 int ret = 0; 814 int ret = 0;
815 815
816#if defined(CONFIG_X86) 816#if defined(CONFIG_X86)
@@ -820,6 +820,8 @@ static int adjust_io(struct pcmcia_socket *s, unsigned int action, unsigned long
820 start = 0x100; 820 start = 0x100;
821#endif 821#endif
822 822
823 size = end - start + 1;
824
823 if (end < start) 825 if (end < start)
824 return -EINVAL; 826 return -EINVAL;
825 827