net: mac802154: Create an error helper for asynchronous offloading errors
authorMiquel Raynal <miquel.raynal@bootlin.com>
Thu, 7 Apr 2022 10:08:58 +0000 (12:08 +0200)
committerStefan Schmidt <stefan@datenfreihafen.org>
Mon, 25 Apr 2022 18:51:12 +0000 (20:51 +0200)
commit5a1b57c0dde9b93ba8261fa1c81f9aae2bac284a
tree2727624358f8d0b4ea17a076b5313ef320c8695e
parent30ca44eb2480ede838c7c8c131a7d25589a98f0a
net: mac802154: Create an error helper for asynchronous offloading errors

A few drivers do the full transmit operation asynchronously, which means
that a bus error that happens when forwarding the packet to the
transmitter or a timeout happening when offloading the request to the
transmitter will not be reported immediately.

The solution in this case is to call this new helper to free the
necessary resources, restart the queue and always return the same
generic TRAC error code: IEEE802154_SYSTEM_ERROR.

Suggested-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Alexander Aring <aahringo@redhat.com>
Link: https://lore.kernel.org/r/20220407100903.1695973-6-miquel.raynal@bootlin.com
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
include/net/mac802154.h
net/mac802154/util.c