aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/pcmcia/smc91c92_cs.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/pcmcia/smc91c92_cs.c')
-rw-r--r--drivers/net/pcmcia/smc91c92_cs.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/net/pcmcia/smc91c92_cs.c b/drivers/net/pcmcia/smc91c92_cs.c
index 56700b154d44..03b1d8fbe7b7 100644
--- a/drivers/net/pcmcia/smc91c92_cs.c
+++ b/drivers/net/pcmcia/smc91c92_cs.c
@@ -49,6 +49,7 @@
49#include <pcmcia/cisreg.h> 49#include <pcmcia/cisreg.h>
50#include <pcmcia/ciscode.h> 50#include <pcmcia/ciscode.h>
51#include <pcmcia/ds.h> 51#include <pcmcia/ds.h>
52#include <pcmcia/ss.h>
52 53
53#include <asm/io.h> 54#include <asm/io.h>
54#include <asm/system.h> 55#include <asm/system.h>
@@ -965,10 +966,15 @@ static int check_sig(dev_link_t *link)
965 966
966 if (width) { 967 if (width) {
967 printk(KERN_INFO "smc91c92_cs: using 8-bit IO window.\n"); 968 printk(KERN_INFO "smc91c92_cs: using 8-bit IO window.\n");
969 /* call pcmcia_release_configuration() in _suspend */
968 smc91c92_suspend(link->handle); 970 smc91c92_suspend(link->handle);
969 pcmcia_release_io(link->handle, &link->io); 971
970 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; 972 link->io.Attributes1 = IO_DATA_PATH_WIDTH_8;
971 pcmcia_request_io(link->handle, &link->io); 973 link->handle->socket->io[0].res->flags &= ~IO_DATA_PATH_WIDTH;
974 link->handle->socket->io[0].res->flags |= IO_DATA_PATH_WIDTH_8;
975
976 /* call pcmcia_request_configuration() in _resume, it handles the
977 * flag update */
972 smc91c92_resume(link->handle); 978 smc91c92_resume(link->handle);
973 return check_sig(link); 979 return check_sig(link);
974 } 980 }