summaryrefslogtreecommitdiffstats
path: root/package/pcmcia-cs/patches/003-cardmgr_c.patch
blob: 7078db7f78bce7276ebf314507bd1c98609cb51e (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
42
diff -urN pcmcia-cs-3.2.8-old/cardmgr/cardmgr.c pcmcia-cs-3.2.8-new/cardmgr/cardmgr.c
--- pcmcia-cs-3.2.8-old/cardmgr/cardmgr.c	2004-05-21 08:39:36.000000000 +0200
+++ pcmcia-cs-3.2.8-new/cardmgr/cardmgr.c	2006-03-29 20:27:03.000000000 +0200
@@ -739,10 +739,7 @@
     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 @@
     }
 
     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 @@
 
     /* 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 */