Commit 010a2a66 authored by David S. Miller's avatar David S. Miller
Browse files

Merge tag 'ieee802154-for-net-2022-01-28' of...

Merge tag 'ieee802154-for-net-2022-01-28' of git://git.kernel.org/pub/scm/linux/kernel/git/sschmidt/wpan



Stefan Schmidt says:

====================
pull-request: ieee802154 for net 2022-01-28

An update from ieee802154 for your *net* tree.

A bunch of fixes in drivers, all from Miquel Raynal.
Clarifying the default channel in hwsim, leak fixes in at86rf230 and ca8210 as
well as a symbol duration fix for mcr20a. Topping up the driver fixes with
better error codes in nl802154 and a cleanup in MAINTAINERS for an orphaned
driver.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents 1f84a945 5d8a8b32
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -4157,9 +4157,8 @@ N: csky
K:	csky
CA8210 IEEE-802.15.4 RADIO DRIVER
M:	Harry Morris <h.morris@cascoda.com>
L:	linux-wpan@vger.kernel.org
S:	Maintained
S:	Orphan
W:	https://github.com/Cascoda/ca8210-linux.git
F:	Documentation/devicetree/bindings/net/ieee802154/ca8210.txt
F:	drivers/net/ieee802154/ca8210.c
+11 −2
Original line number Diff line number Diff line
@@ -100,6 +100,7 @@ struct at86rf230_local {
	unsigned long cal_timeout;
	bool is_tx;
	bool is_tx_from_off;
	bool was_tx;
	u8 tx_retry;
	struct sk_buff *tx_skb;
	struct at86rf230_state_change tx;
@@ -343,8 +344,12 @@ at86rf230_async_error_recover_complete(void *context)
	if (ctx->free)
		kfree(ctx);

	if (lp->was_tx) {
		lp->was_tx = 0;
		dev_kfree_skb_any(lp->tx_skb);
		ieee802154_wake_queue(lp->hw);
	}
}

static void
at86rf230_async_error_recover(void *context)
@@ -352,7 +357,11 @@ at86rf230_async_error_recover(void *context)
	struct at86rf230_state_change *ctx = context;
	struct at86rf230_local *lp = ctx->lp;

	if (lp->is_tx) {
		lp->was_tx = 1;
		lp->is_tx = 0;
	}

	at86rf230_async_state_change(lp, ctx, STATE_RX_AACK_ON,
				     at86rf230_async_error_recover_complete);
}
+1 −0
Original line number Diff line number Diff line
@@ -1771,6 +1771,7 @@ static int ca8210_async_xmit_complete(
			status
		);
		if (status != MAC_TRANSACTION_OVERFLOW) {
			dev_kfree_skb_any(priv->tx_skb);
			ieee802154_wake_queue(priv->hw);
			return 0;
		}
+1 −0
Original line number Diff line number Diff line
@@ -786,6 +786,7 @@ static int hwsim_add_one(struct genl_info *info, struct device *dev,
		goto err_pib;
	}

	pib->channel = 13;
	rcu_assign_pointer(phy->pib, pib);
	phy->idx = idx;
	INIT_LIST_HEAD(&phy->edges);
+2 −2
Original line number Diff line number Diff line
@@ -976,8 +976,8 @@ static void mcr20a_hw_setup(struct mcr20a_local *lp)
	dev_dbg(printdev(lp), "%s\n", __func__);

	phy->symbol_duration = 16;
	phy->lifs_period = 40;
	phy->sifs_period = 12;
	phy->lifs_period = 40 * phy->symbol_duration;
	phy->sifs_period = 12 * phy->symbol_duration;

	hw->flags = IEEE802154_HW_TX_OMIT_CKSUM |
			IEEE802154_HW_AFILT |
Loading