Commit 3cc5c6a7 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 's390-net-fixes'



Alexandra Winter says:

====================
s390/net: Cleanup some code checker findings

clean up smatch findings in legacy code. I was not able to provoke
any real failures on my systems, but other hardware reactions,
timing conditions or compiler output, may cause failures.

There are still 2 smatch warnings left in s390/net:

drivers/s390/net/ctcm_main.c:1326 add_channel() warn: missing error code 'rc'
This one is a false positive.

drivers/s390/net/netiucv.c:1355 netiucv_check_user() warn: argument 3 to %02x specifier has type 'char'
Postponing this one, need to better understand string handling in iucv.

There are several sparse warnings left in ctcm, like:
drivers/s390/net/ctcm_fsms.c:573:9: warning: context imbalance in 'ctcm_chx_setmode' - different lock contexts for basic block
Those are mentioned in the source, no plan to rework.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 2423b0d0 671bb35c
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -626,8 +626,6 @@ static void mpc_rcvd_sweep_resp(struct mpcg_info *mpcginfo)
		ctcm_clear_busy_do(dev);
	}

	kfree(mpcginfo);

	return;

}
@@ -1192,10 +1190,10 @@ static void ctcmpc_unpack_skb(struct channel *ch, struct sk_buff *pskb)
						CTCM_FUNTAIL, dev->name);
			priv->stats.rx_dropped++;
			/* mpcginfo only used for non-data transfers */
			kfree(mpcginfo);
			if (do_debug_data)
				ctcmpc_dump_skb(pskb, -8);
		}
		kfree(mpcginfo);
	}
done:

@@ -1977,7 +1975,6 @@ static void mpc_action_rcvd_xid0(fsm_instance *fsm, int event, void *arg)
		}
		break;
	}
	kfree(mpcginfo);

	CTCM_PR_DEBUG("ctcmpc:%s() %s xid2:%i xid7:%i xidt_p2:%i \n",
		__func__, ch->id, grp->outstanding_xid2,
@@ -2038,7 +2035,6 @@ static void mpc_action_rcvd_xid7(fsm_instance *fsm, int event, void *arg)
		mpc_validate_xid(mpcginfo);
		break;
	}
	kfree(mpcginfo);
	return;
}

+3 −2
Original line number Diff line number Diff line
@@ -39,11 +39,12 @@ static ssize_t ctcm_buffer_write(struct device *dev,
	struct ctcm_priv *priv = dev_get_drvdata(dev);
	int rc;

	ndev = priv->channel[CTCM_READ]->netdev;
	if (!(priv && priv->channel[CTCM_READ] && ndev)) {
	if (!(priv && priv->channel[CTCM_READ] &&
	      priv->channel[CTCM_READ]->netdev)) {
		CTCM_DBF_TEXT(SETUP, CTC_DBF_ERROR, "bfnondev");
		return -ENODEV;
	}
	ndev = priv->channel[CTCM_READ]->netdev;

	rc = kstrtouint(buf, 0, &bs1);
	if (rc)
+4 −3
Original line number Diff line number Diff line
@@ -1736,10 +1736,11 @@ lcs_get_control(struct lcs_card *card, struct lcs_cmd *cmd)
			lcs_schedule_recovery(card);
			break;
		case LCS_CMD_STOPLAN:
			if (card->dev) {
				pr_warn("Stoplan for %s initiated by LGW\n",
					card->dev->name);
			if (card->dev)
				netif_carrier_off(card->dev);
			}
			break;
		default:
			LCS_DBF_TEXT(5, trace, "noLGWcmd");