aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulia Lawall <julia@diku.dk>2009-07-12 16:05:03 -0400
committerKarsten Keil <keil@b1-systems.de>2009-07-25 14:22:51 -0400
commit3cad3da3ed9ece03704f7d67e038b8ae710fa312 (patch)
treedc20a8b7272d027b889a8c3df6ca0963ded3d018
parenta900845e56617edc005fd8f35bfd5a407aaf96c8 (diff)
drivers/isdn: Drop unnecessary NULL test
The result of container_of should not be NULL. In particular, in this case the argument to the enclosing function has passed though INIT_WORK, which dereferences it, implying that its container cannot be NULL. A simplified version of the semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ identifier fn,work,x,fld; type T; expression E1,E2; statement S; @@ static fn(struct work_struct *work) { ... when != work = E1 x = container_of(work,T,fld) ... when != x = E2 - if (x == NULL) S ... } // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Karsten Keil <keil@b1-systems.de>
-rw-r--r--drivers/isdn/hisax/amd7930_fn.c2
-rw-r--r--drivers/isdn/hisax/hfc_pci.c2
-rw-r--r--drivers/isdn/hisax/hfc_sx.c2
-rw-r--r--drivers/isdn/hisax/icc.c2
-rw-r--r--drivers/isdn/hisax/isac.c2
-rw-r--r--drivers/isdn/hisax/w6692.c2
6 files changed, 0 insertions, 12 deletions
diff --git a/drivers/isdn/hisax/amd7930_fn.c b/drivers/isdn/hisax/amd7930_fn.c
index 341faf58a65c..bf526a7a63af 100644
--- a/drivers/isdn/hisax/amd7930_fn.c
+++ b/drivers/isdn/hisax/amd7930_fn.c
@@ -238,8 +238,6 @@ Amd7930_bh(struct work_struct *work)
238 container_of(work, struct IsdnCardState, tqueue); 238 container_of(work, struct IsdnCardState, tqueue);
239 struct PStack *stptr; 239 struct PStack *stptr;
240 240
241 if (!cs)
242 return;
243 if (test_and_clear_bit(D_CLEARBUSY, &cs->event)) { 241 if (test_and_clear_bit(D_CLEARBUSY, &cs->event)) {
244 if (cs->debug) 242 if (cs->debug)
245 debugl1(cs, "Amd7930: bh, D-Channel Busy cleared"); 243 debugl1(cs, "Amd7930: bh, D-Channel Busy cleared");
diff --git a/drivers/isdn/hisax/hfc_pci.c b/drivers/isdn/hisax/hfc_pci.c
index 3d337d924c23..d110a77940a4 100644
--- a/drivers/isdn/hisax/hfc_pci.c
+++ b/drivers/isdn/hisax/hfc_pci.c
@@ -1506,8 +1506,6 @@ hfcpci_bh(struct work_struct *work)
1506 u_long flags; 1506 u_long flags;
1507// struct PStack *stptr; 1507// struct PStack *stptr;
1508 1508
1509 if (!cs)
1510 return;
1511 if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) { 1509 if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
1512 if (!cs->hw.hfcpci.nt_mode) 1510 if (!cs->hw.hfcpci.nt_mode)
1513 switch (cs->dc.hfcpci.ph_state) { 1511 switch (cs->dc.hfcpci.ph_state) {
diff --git a/drivers/isdn/hisax/hfc_sx.c b/drivers/isdn/hisax/hfc_sx.c
index d92e8d6c2ae2..419f87cad8cb 100644
--- a/drivers/isdn/hisax/hfc_sx.c
+++ b/drivers/isdn/hisax/hfc_sx.c
@@ -1255,8 +1255,6 @@ hfcsx_bh(struct work_struct *work)
1255 container_of(work, struct IsdnCardState, tqueue); 1255 container_of(work, struct IsdnCardState, tqueue);
1256 u_long flags; 1256 u_long flags;
1257 1257
1258 if (!cs)
1259 return;
1260 if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) { 1258 if (test_and_clear_bit(D_L1STATECHANGE, &cs->event)) {
1261 if (!cs->hw.hfcsx.nt_mode) 1259 if (!cs->hw.hfcsx.nt_mode)
1262 switch (cs->dc.hfcsx.ph_state) { 1260 switch (cs->dc.hfcsx.ph_state) {
diff --git a/drivers/isdn/hisax/icc.c b/drivers/isdn/hisax/icc.c
index 682cac32f259..9aba646ba221 100644
--- a/drivers/isdn/hisax/icc.c
+++ b/drivers/isdn/hisax/icc.c
@@ -83,8 +83,6 @@ icc_bh(struct work_struct *work)
83 container_of(work, struct IsdnCardState, tqueue); 83 container_of(work, struct IsdnCardState, tqueue);
84 struct PStack *stptr; 84 struct PStack *stptr;
85 85
86 if (!cs)
87 return;
88 if (test_and_clear_bit(D_CLEARBUSY, &cs->event)) { 86 if (test_and_clear_bit(D_CLEARBUSY, &cs->event)) {
89 if (cs->debug) 87 if (cs->debug)
90 debugl1(cs, "D-Channel Busy cleared"); 88 debugl1(cs, "D-Channel Busy cleared");
diff --git a/drivers/isdn/hisax/isac.c b/drivers/isdn/hisax/isac.c
index 07b1673122b8..a19354d94343 100644
--- a/drivers/isdn/hisax/isac.c
+++ b/drivers/isdn/hisax/isac.c
@@ -86,8 +86,6 @@ isac_bh(struct work_struct *work)
86 container_of(work, struct IsdnCardState, tqueue); 86 container_of(work, struct IsdnCardState, tqueue);
87 struct PStack *stptr; 87 struct PStack *stptr;
88 88
89 if (!cs)
90 return;
91 if (test_and_clear_bit(D_CLEARBUSY, &cs->event)) { 89 if (test_and_clear_bit(D_CLEARBUSY, &cs->event)) {
92 if (cs->debug) 90 if (cs->debug)
93 debugl1(cs, "D-Channel Busy cleared"); 91 debugl1(cs, "D-Channel Busy cleared");
diff --git a/drivers/isdn/hisax/w6692.c b/drivers/isdn/hisax/w6692.c
index bb1c8dd1a230..c4d862c11a60 100644
--- a/drivers/isdn/hisax/w6692.c
+++ b/drivers/isdn/hisax/w6692.c
@@ -105,8 +105,6 @@ W6692_bh(struct work_struct *work)
105 container_of(work, struct IsdnCardState, tqueue); 105 container_of(work, struct IsdnCardState, tqueue);
106 struct PStack *stptr; 106 struct PStack *stptr;
107 107
108 if (!cs)
109 return;
110 if (test_and_clear_bit(D_CLEARBUSY, &cs->event)) { 108 if (test_and_clear_bit(D_CLEARBUSY, &cs->event)) {
111 if (cs->debug) 109 if (cs->debug)
112 debugl1(cs, "D-Channel Busy cleared"); 110 debugl1(cs, "D-Channel Busy cleared");