aboutsummaryrefslogtreecommitdiffstats
path: root/package/pcmcia-cs/patches/003-cardmgr_c.patch
blob: 716a0b26b9b603024b1d4f1551e437c43c8d12de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
--- a/cardmgr/cardmgr.c
+++ b/cardmgr/cardmgr.c
@@ -739,10 +739,7 @@ static int try_insmod(char *mod, char *o
     int ret;
 
     strcpy(cmd, "insmod ");
-    if (strchr(mod, '/') != NULL)
-	sprintf(cmd+7, "%s/%s.o", modpath, mod);
-    else
-	sprintf(cmd+7, "%s/pcmcia/%s.o", modpath, mod);
+    sprintf(cmd+7, "%s/%s.o", modpath, mod);
     if (access(cmd+7, R_OK) != 0) {
 	syslog(LOG_NOTICE, "module %s not available", cmd+7);
 	free(cmd);
@@ -808,11 +805,13 @@ static void install_module(char *mod, ch
     }
 
     if (do_modprobe) {
-	if (try_modprobe(mod, opts) != 0)
+	if (try_modprobe(mod, opts) != 0) {
 	    try_insmod(mod, opts);
+	}
     } else {
-	if (try_insmod(mod, opts) != 0)
+	if (try_insmod(mod, opts) != 0) {
 	    try_modprobe(mod, opts);
+	}
     }
 }
 
@@ -1113,8 +1112,9 @@ static void do_remove(int sn)
 
     /* remove kernel modules in inverse order */
     for (i = 0; i < card->bindings; i++) {
-	for (j = dev[i]->modules-1; j >= 0; j--)
+	for (j = dev[i]->modules-1; j >= 0; j--) {
 	    remove_module(dev[i]->module[j]);
+	}
 	free_device(dev[i]);
     }
     /* Remove any MTD's bound to this socket */