diff options
author | Julia Lawall <julia@diku.dk> | 2009-07-12 16:05:03 -0400 |
---|---|---|
committer | Karsten Keil <keil@b1-systems.de> | 2009-07-25 14:22:51 -0400 |
commit | 3cad3da3ed9ece03704f7d67e038b8ae710fa312 (patch) | |
tree | dc20a8b7272d027b889a8c3df6ca0963ded3d018 /drivers/isdn | |
parent | a900845e56617edc005fd8f35bfd5a407aaf96c8 (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>
Diffstat (limited to 'drivers/isdn')
-rw-r--r-- | drivers/isdn/hisax/amd7930_fn.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hisax/hfc_pci.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hisax/hfc_sx.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hisax/icc.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hisax/isac.c | 2 | ||||
-rw-r--r-- | drivers/isdn/hisax/w6692.c | 2 |
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"); |