aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel A. Fowler <fowlerja@us.ibm.com>2009-03-23 23:27:49 -0400
committerDavid S. Miller <davem@davemloft.net>2009-03-24 18:24:31 -0400
commite2fc8cb4fedf57a63c05cd1e0f6e4f0e0238614a (patch)
tree6a1c128870d78419921db7b4b6b6522b5d398a9a
parentfb8585fc3f9b39153e0bdaf03f00a02dde9c03c6 (diff)
ctcm: fix minor findings from code analysis tool
From: Ursula Braun <ursula.braun@de.ibm.com> This patch fixes problems in the ctcm driver identified by static code analysis: o remove an unnecessary always true condition in ctcm_unpack_skb o remove duplicate assignment in ctc_mpc_alloc_channel o remove an unnecessary always true condition in ctcmpc_send_sweep_resp o remove duplicate initialization in ctcmpc_unpack_skb o shorten if condition in mpc_action_go_inop o remove INOP event if mpc group is undefined in mpc_action_doxid7 Signed-off-by: Joel A. Fowler <fowlerja@us.ibm.com> Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/s390/net/ctcm_main.c8
-rw-r--r--drivers/s390/net/ctcm_mpc.c17
2 files changed, 8 insertions, 17 deletions
diff --git a/drivers/s390/net/ctcm_main.c b/drivers/s390/net/ctcm_main.c
index a7a25383db76..77f4033a0f4f 100644
--- a/drivers/s390/net/ctcm_main.c
+++ b/drivers/s390/net/ctcm_main.c
@@ -168,11 +168,9 @@ void ctcm_unpack_skb(struct channel *ch, struct sk_buff *pskb)
168 if (len > 0) { 168 if (len > 0) {
169 skb_pull(pskb, header->length); 169 skb_pull(pskb, header->length);
170 if (skb_tailroom(pskb) < LL_HEADER_LENGTH) { 170 if (skb_tailroom(pskb) < LL_HEADER_LENGTH) {
171 if (!(ch->logflags & LOG_FLAG_OVERRUN)) { 171 CTCM_DBF_DEV_NAME(TRACE, dev,
172 CTCM_DBF_DEV_NAME(TRACE, dev, 172 "Overrun in ctcm_unpack_skb");
173 "Overrun in ctcm_unpack_skb"); 173 ch->logflags |= LOG_FLAG_OVERRUN;
174 ch->logflags |= LOG_FLAG_OVERRUN;
175 }
176 return; 174 return;
177 } 175 }
178 skb_put(pskb, LL_HEADER_LENGTH); 176 skb_put(pskb, LL_HEADER_LENGTH);
diff --git a/drivers/s390/net/ctcm_mpc.c b/drivers/s390/net/ctcm_mpc.c
index 3db5f846bbf6..781e18be7e8f 100644
--- a/drivers/s390/net/ctcm_mpc.c
+++ b/drivers/s390/net/ctcm_mpc.c
@@ -393,7 +393,6 @@ int ctc_mpc_alloc_channel(int port_num, void (*callback)(int, int))
393 } else { 393 } else {
394 /* there are problems...bail out */ 394 /* there are problems...bail out */
395 /* there may be a state mismatch so restart */ 395 /* there may be a state mismatch so restart */
396 grp->port_persist = 1;
397 fsm_event(grp->fsm, MPCG_EVENT_INOP, dev); 396 fsm_event(grp->fsm, MPCG_EVENT_INOP, dev);
398 grp->allocchan_callback_retries = 0; 397 grp->allocchan_callback_retries = 0;
399 } 398 }
@@ -699,11 +698,9 @@ static void ctcmpc_send_sweep_resp(struct channel *rch)
699 return; 698 return;
700 699
701done: 700done:
702 if (rc != 0) { 701 grp->in_sweep = 0;
703 grp->in_sweep = 0; 702 ctcm_clear_busy_do(dev);
704 ctcm_clear_busy_do(dev); 703 fsm_event(grp->fsm, MPCG_EVENT_INOP, dev);
705 fsm_event(grp->fsm, MPCG_EVENT_INOP, dev);
706 }
707 704
708 return; 705 return;
709} 706}
@@ -1118,7 +1115,6 @@ static void ctcmpc_unpack_skb(struct channel *ch, struct sk_buff *pskb)
1118 1115
1119 if (unlikely(fsm_getstate(grp->fsm) != MPCG_STATE_READY)) 1116 if (unlikely(fsm_getstate(grp->fsm) != MPCG_STATE_READY))
1120 goto done; 1117 goto done;
1121 pdu_last_seen = 0;
1122 while ((pskb->len > 0) && !pdu_last_seen) { 1118 while ((pskb->len > 0) && !pdu_last_seen) {
1123 curr_pdu = (struct pdu *)pskb->data; 1119 curr_pdu = (struct pdu *)pskb->data;
1124 1120
@@ -1396,8 +1392,7 @@ static void mpc_action_go_inop(fsm_instance *fi, int event, void *arg)
1396 CTCM_FUNTAIL, dev->name); 1392 CTCM_FUNTAIL, dev->name);
1397 if ((grp->saved_state != MPCG_STATE_RESET) || 1393 if ((grp->saved_state != MPCG_STATE_RESET) ||
1398 /* dealloc_channel has been called */ 1394 /* dealloc_channel has been called */
1399 ((grp->saved_state == MPCG_STATE_RESET) && 1395 (grp->port_persist == 0))
1400 (grp->port_persist == 0)))
1401 fsm_deltimer(&priv->restart_timer); 1396 fsm_deltimer(&priv->restart_timer);
1402 1397
1403 wch = priv->channel[WRITE]; 1398 wch = priv->channel[WRITE];
@@ -1917,10 +1912,8 @@ static void mpc_action_doxid7(fsm_instance *fsm, int event, void *arg)
1917 1912
1918 if (priv) 1913 if (priv)
1919 grp = priv->mpcg; 1914 grp = priv->mpcg;
1920 if (grp == NULL) { 1915 if (grp == NULL)
1921 fsm_event(grp->fsm, MPCG_EVENT_INOP, dev);
1922 return; 1916 return;
1923 }
1924 1917
1925 for (direction = READ; direction <= WRITE; direction++) { 1918 for (direction = READ; direction <= WRITE; direction++) {
1926 struct channel *ch = priv->channel[direction]; 1919 struct channel *ch = priv->channel[direction];