Commit f6075fee authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

Merge branch 's390-net-updates-2023-02-06'

Alexandra Winter says:

====================
s390/net: updates 2023-02-06

Just maintenance patches, no functional changes.
If you disagree with patch 4, we can leave it out.
We prefer scnprintf, but no strong opinion.
====================

Link: https://lore.kernel.org/r/20230209110424.1707501-1-wintera@linux.ibm.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents a9c12174 74c05a38
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -896,8 +896,9 @@ void mpc_group_ready(unsigned long adev)
		grp->estconnfunc(grp->port_num, 0,
				    grp->group_max_buflen);
		grp->estconnfunc = NULL;
	} else 	if (grp->allochanfunc)
	} else if (grp->allochanfunc) {
		grp->allochanfunc(grp->port_num, grp->group_max_buflen);
	}

	grp->send_qllc_disc = 1;
	grp->changed_side = 0;
+8 −6
Original line number Diff line number Diff line
@@ -2801,7 +2801,9 @@ static void qeth_print_status_message(struct qeth_card *card)
		 * of the level OSA sets the first character to zero
		 * */
		if (!card->info.mcl_level[0]) {
			sprintf(card->info.mcl_level, "%02x%02x",
			scnprintf(card->info.mcl_level,
				  sizeof(card->info.mcl_level),
				  "%02x%02x",
				  card->info.mcl_level[2],
				  card->info.mcl_level[3]);
			break;
@@ -6090,7 +6092,7 @@ void qeth_dbf_longtext(debug_info_t *id, int level, char *fmt, ...)
	if (!debug_level_enabled(id, level))
		return;
	va_start(args, fmt);
	vsnprintf(dbf_txt_buf, sizeof(dbf_txt_buf), fmt, args);
	vscnprintf(dbf_txt_buf, sizeof(dbf_txt_buf), fmt, args);
	va_end(args);
	debug_text_event(id, level, dbf_txt_buf);
}
@@ -6330,7 +6332,7 @@ static int qeth_core_probe_device(struct ccwgroup_device *gdev)
		goto err_dev;
	}

	snprintf(dbf_name, sizeof(dbf_name), "qeth_card_%s",
	scnprintf(dbf_name, sizeof(dbf_name), "qeth_card_%s",
		  dev_name(&gdev->dev));
	card->debug = qeth_get_dbf_entry(dbf_name);
	if (!card->debug) {
+34 −32
Original line number Diff line number Diff line
@@ -23,15 +23,15 @@ static ssize_t qeth_dev_state_show(struct device *dev,

	switch (card->state) {
	case CARD_STATE_DOWN:
		return sprintf(buf, "DOWN\n");
		return sysfs_emit(buf, "DOWN\n");
	case CARD_STATE_SOFTSETUP:
		if (card->dev->flags & IFF_UP)
			return sprintf(buf, "UP (LAN %s)\n",
				       netif_carrier_ok(card->dev) ? "ONLINE" :
								     "OFFLINE");
		return sprintf(buf, "SOFTSETUP\n");
			return sysfs_emit(buf, "UP (LAN %s)\n",
					  netif_carrier_ok(card->dev) ?
					  "ONLINE" : "OFFLINE");
		return sysfs_emit(buf, "SOFTSETUP\n");
	default:
		return sprintf(buf, "UNKNOWN\n");
		return sysfs_emit(buf, "UNKNOWN\n");
	}
}

@@ -42,7 +42,7 @@ static ssize_t qeth_dev_chpid_show(struct device *dev,
{
	struct qeth_card *card = dev_get_drvdata(dev);

	return sprintf(buf, "%02X\n", card->info.chpid);
	return sysfs_emit(buf, "%02X\n", card->info.chpid);
}

static DEVICE_ATTR(chpid, 0444, qeth_dev_chpid_show, NULL);
@@ -52,7 +52,7 @@ static ssize_t qeth_dev_if_name_show(struct device *dev,
{
	struct qeth_card *card = dev_get_drvdata(dev);

	return sprintf(buf, "%s\n", netdev_name(card->dev));
	return sysfs_emit(buf, "%s\n", netdev_name(card->dev));
}

static DEVICE_ATTR(if_name, 0444, qeth_dev_if_name_show, NULL);
@@ -62,7 +62,7 @@ static ssize_t qeth_dev_card_type_show(struct device *dev,
{
	struct qeth_card *card = dev_get_drvdata(dev);

	return sprintf(buf, "%s\n", qeth_get_cardname_short(card));
	return sysfs_emit(buf, "%s\n", qeth_get_cardname_short(card));
}

static DEVICE_ATTR(card_type, 0444, qeth_dev_card_type_show, NULL);
@@ -86,7 +86,7 @@ static ssize_t qeth_dev_inbuf_size_show(struct device *dev,
{
	struct qeth_card *card = dev_get_drvdata(dev);

	return sprintf(buf, "%s\n", qeth_get_bufsize_str(card));
	return sysfs_emit(buf, "%s\n", qeth_get_bufsize_str(card));
}

static DEVICE_ATTR(inbuf_size, 0444, qeth_dev_inbuf_size_show, NULL);
@@ -96,7 +96,7 @@ static ssize_t qeth_dev_portno_show(struct device *dev,
{
	struct qeth_card *card = dev_get_drvdata(dev);

	return sprintf(buf, "%i\n", card->dev->dev_port);
	return sysfs_emit(buf, "%i\n", card->dev->dev_port);
}

static ssize_t qeth_dev_portno_store(struct device *dev,
@@ -134,7 +134,7 @@ static DEVICE_ATTR(portno, 0644, qeth_dev_portno_show, qeth_dev_portno_store);
static ssize_t qeth_dev_portname_show(struct device *dev,
				struct device_attribute *attr, char *buf)
{
	return sprintf(buf, "no portname required\n");
	return sysfs_emit(buf, "no portname required\n");
}

static ssize_t qeth_dev_portname_store(struct device *dev,
@@ -157,18 +157,18 @@ static ssize_t qeth_dev_prioqing_show(struct device *dev,

	switch (card->qdio.do_prio_queueing) {
	case QETH_PRIO_Q_ING_PREC:
		return sprintf(buf, "%s\n", "by precedence");
		return sysfs_emit(buf, "%s\n", "by precedence");
	case QETH_PRIO_Q_ING_TOS:
		return sprintf(buf, "%s\n", "by type of service");
		return sysfs_emit(buf, "%s\n", "by type of service");
	case QETH_PRIO_Q_ING_SKB:
		return sprintf(buf, "%s\n", "by skb-priority");
		return sysfs_emit(buf, "%s\n", "by skb-priority");
	case QETH_PRIO_Q_ING_VLAN:
		return sprintf(buf, "%s\n", "by VLAN headers");
		return sysfs_emit(buf, "%s\n", "by VLAN headers");
	case QETH_PRIO_Q_ING_FIXED:
		return sprintf(buf, "always queue %i\n",
		return sysfs_emit(buf, "always queue %i\n",
			       card->qdio.default_out_queue);
	default:
		return sprintf(buf, "disabled\n");
		return sysfs_emit(buf, "disabled\n");
	}
}

@@ -242,7 +242,7 @@ static ssize_t qeth_dev_bufcnt_show(struct device *dev,
{
	struct qeth_card *card = dev_get_drvdata(dev);

	return sprintf(buf, "%i\n", card->qdio.in_buf_pool.buf_count);
	return sysfs_emit(buf, "%i\n", card->qdio.in_buf_pool.buf_count);
}

static ssize_t qeth_dev_bufcnt_store(struct device *dev,
@@ -298,7 +298,7 @@ static DEVICE_ATTR(recover, 0200, NULL, qeth_dev_recover_store);
static ssize_t qeth_dev_performance_stats_show(struct device *dev,
				struct device_attribute *attr, char *buf)
{
	return sprintf(buf, "1\n");
	return sysfs_emit(buf, "1\n");
}

static ssize_t qeth_dev_performance_stats_store(struct device *dev,
@@ -335,7 +335,7 @@ static ssize_t qeth_dev_layer2_show(struct device *dev,
{
	struct qeth_card *card = dev_get_drvdata(dev);

	return sprintf(buf, "%i\n", card->options.layer);
	return sysfs_emit(buf, "%i\n", card->options.layer);
}

static ssize_t qeth_dev_layer2_store(struct device *dev,
@@ -470,23 +470,25 @@ static ssize_t qeth_dev_switch_attrs_show(struct device *dev,
	int	rc = 0;

	if (!qeth_card_hw_is_reachable(card))
		return sprintf(buf, "n/a\n");
		return sysfs_emit(buf, "n/a\n");

	rc = qeth_query_switch_attributes(card, &sw_info);
	if (rc)
		return rc;

	if (!sw_info.capabilities)
		rc = sprintf(buf, "unknown");
		rc = sysfs_emit(buf, "unknown");

	if (sw_info.capabilities & QETH_SWITCH_FORW_802_1)
		rc = sprintf(buf, (sw_info.settings & QETH_SWITCH_FORW_802_1 ?
		rc = sysfs_emit(buf,
				(sw_info.settings & QETH_SWITCH_FORW_802_1 ?
				"[802.1]" : "802.1"));
	if (sw_info.capabilities & QETH_SWITCH_FORW_REFL_RELAY)
		rc += sprintf(buf + rc,
			(sw_info.settings & QETH_SWITCH_FORW_REFL_RELAY ?
		rc += sysfs_emit_at(buf, rc,
				    (sw_info.settings &
				    QETH_SWITCH_FORW_REFL_RELAY ?
				    " [rr]" : " rr"));
	rc += sprintf(buf + rc, "\n");
	rc += sysfs_emit_at(buf, rc, "\n");

	return rc;
}
@@ -573,7 +575,7 @@ static ssize_t qeth_dev_blkt_total_show(struct device *dev,
{
	struct qeth_card *card = dev_get_drvdata(dev);

	return sprintf(buf, "%i\n", card->info.blkt.time_total);
	return sysfs_emit(buf, "%i\n", card->info.blkt.time_total);
}

static ssize_t qeth_dev_blkt_total_store(struct device *dev,
@@ -593,7 +595,7 @@ static ssize_t qeth_dev_blkt_inter_show(struct device *dev,
{
	struct qeth_card *card = dev_get_drvdata(dev);

	return sprintf(buf, "%i\n", card->info.blkt.inter_packet);
	return sysfs_emit(buf, "%i\n", card->info.blkt.inter_packet);
}

static ssize_t qeth_dev_blkt_inter_store(struct device *dev,
@@ -613,7 +615,7 @@ static ssize_t qeth_dev_blkt_inter_jumbo_show(struct device *dev,
{
	struct qeth_card *card = dev_get_drvdata(dev);

	return sprintf(buf, "%i\n", card->info.blkt.inter_packet_jumbo);
	return sysfs_emit(buf, "%i\n", card->info.blkt.inter_packet_jumbo);
}

static ssize_t qeth_dev_blkt_inter_jumbo_store(struct device *dev,
+3 −3
Original line number Diff line number Diff line
@@ -172,7 +172,7 @@ static void qeth_get_strings(struct net_device *dev, u32 stringset, u8 *data)
		qeth_add_stat_strings(&data, prefix, card_stats,
				      CARD_STATS_LEN);
		for (i = 0; i < card->qdio.no_out_queues; i++) {
			snprintf(prefix, ETH_GSTRING_LEN, "tx%u ", i);
			scnprintf(prefix, ETH_GSTRING_LEN, "tx%u ", i);
			qeth_add_stat_strings(&data, prefix, txq_stats,
					      TXQ_STATS_LEN);
		}
@@ -192,7 +192,7 @@ static void qeth_get_drvinfo(struct net_device *dev,
		sizeof(info->driver));
	strscpy(info->fw_version, card->info.mcl_level,
		sizeof(info->fw_version));
	snprintf(info->bus_info, sizeof(info->bus_info), "%s/%s/%s",
	scnprintf(info->bus_info, sizeof(info->bus_info), "%s/%s/%s",
		  CARD_RDEV_ID(card), CARD_WDEV_ID(card), CARD_DDEV_ID(card));
}

+27 −26
Original line number Diff line number Diff line
@@ -1255,37 +1255,38 @@ static void qeth_bridge_emit_host_event(struct qeth_card *card,

	switch (evtype) {
	case anev_reg_unreg:
		snprintf(str[i], sizeof(str[i]), "BRIDGEDHOST=%s",
		scnprintf(str[i], sizeof(str[i]), "BRIDGEDHOST=%s",
			  (code & IPA_ADDR_CHANGE_CODE_REMOVAL)
			  ? "deregister" : "register");
		env[i] = str[i]; i++;
		if (code & IPA_ADDR_CHANGE_CODE_VLANID) {
			snprintf(str[i], sizeof(str[i]), "VLAN=%d",
			scnprintf(str[i], sizeof(str[i]), "VLAN=%d",
				  addr_lnid->lnid);
			env[i] = str[i]; i++;
		}
		if (code & IPA_ADDR_CHANGE_CODE_MACADDR) {
			snprintf(str[i], sizeof(str[i]), "MAC=%pM",
			scnprintf(str[i], sizeof(str[i]), "MAC=%pM",
				  addr_lnid->mac);
			env[i] = str[i]; i++;
		}
		snprintf(str[i], sizeof(str[i]), "NTOK_BUSID=%x.%x.%04x",
		scnprintf(str[i], sizeof(str[i]), "NTOK_BUSID=%x.%x.%04x",
			  token->cssid, token->ssid, token->devnum);
		env[i] = str[i]; i++;
		snprintf(str[i], sizeof(str[i]), "NTOK_IID=%02x", token->iid);
		scnprintf(str[i], sizeof(str[i]), "NTOK_IID=%02x", token->iid);
		env[i] = str[i]; i++;
		snprintf(str[i], sizeof(str[i]), "NTOK_CHPID=%02x",
		scnprintf(str[i], sizeof(str[i]), "NTOK_CHPID=%02x",
			  token->chpid);
		env[i] = str[i]; i++;
		snprintf(str[i], sizeof(str[i]), "NTOK_CHID=%04x", token->chid);
		scnprintf(str[i], sizeof(str[i]), "NTOK_CHID=%04x",
			  token->chid);
		env[i] = str[i]; i++;
		break;
	case anev_abort:
		snprintf(str[i], sizeof(str[i]), "BRIDGEDHOST=abort");
		scnprintf(str[i], sizeof(str[i]), "BRIDGEDHOST=abort");
		env[i] = str[i]; i++;
		break;
	case anev_reset:
		snprintf(str[i], sizeof(str[i]), "BRIDGEDHOST=reset");
		scnprintf(str[i], sizeof(str[i]), "BRIDGEDHOST=reset");
		env[i] = str[i]; i++;
		break;
	}
@@ -1314,13 +1315,13 @@ static void qeth_bridge_state_change_worker(struct work_struct *work)
		NULL
	};

	snprintf(env_locrem, sizeof(env_locrem), "BRIDGEPORT=statechange");
	snprintf(env_role, sizeof(env_role), "ROLE=%s",
	scnprintf(env_locrem, sizeof(env_locrem), "BRIDGEPORT=statechange");
	scnprintf(env_role, sizeof(env_role), "ROLE=%s",
		  (data->role == QETH_SBP_ROLE_NONE) ? "none" :
		  (data->role == QETH_SBP_ROLE_PRIMARY) ? "primary" :
		  (data->role == QETH_SBP_ROLE_SECONDARY) ? "secondary" :
		  "<INVALID>");
	snprintf(env_state, sizeof(env_state), "STATE=%s",
	scnprintf(env_state, sizeof(env_state), "STATE=%s",
		  (data->state == QETH_SBP_STATE_INACTIVE) ? "inactive" :
		  (data->state == QETH_SBP_STATE_STANDBY) ? "standby" :
		  (data->state == QETH_SBP_STATE_ACTIVE) ? "active" :
Loading