aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/amazon/ena/ena_netdev.h
diff options
context:
space:
mode:
authorArthur Kiyanovski <akiyano@amazon.com>2022-01-07 20:23:46 +0000
committerJakub Kicinski <kuba@kernel.org>2022-01-07 19:25:52 -0800
commit9fe890cc5bb84d6859d9a2422830b7fd6fd20521 (patch)
treefacf1ee7e9e142f9a13774944d0ae1d657e30ddb /drivers/net/ethernet/amazon/ena/ena_netdev.h
parentnet: ena: Change the name of bad_csum variable (diff)
downloadlinux-9fe890cc5bb84d6859d9a2422830b7fd6fd20521.tar.xz
linux-9fe890cc5bb84d6859d9a2422830b7fd6fd20521.zip
net: ena: Extract recurring driver reset code into a function
Create an inline function for resetting the driver to reduce code duplication. Signed-off-by: Nati Koler <nkoler@amazon.com> Signed-off-by: Arthur Kiyanovski <akiyano@amazon.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/amazon/ena/ena_netdev.h')
-rw-r--r--drivers/net/ethernet/amazon/ena/ena_netdev.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.h b/drivers/net/ethernet/amazon/ena/ena_netdev.h
index 1659f0b6b824..1bdce99bf688 100644
--- a/drivers/net/ethernet/amazon/ena/ena_netdev.h
+++ b/drivers/net/ethernet/amazon/ena/ena_netdev.h
@@ -394,6 +394,15 @@ int ena_update_queue_count(struct ena_adapter *adapter, u32 new_channel_count);
int ena_get_sset_count(struct net_device *netdev, int sset);
+static inline void ena_reset_device(struct ena_adapter *adapter,
+ enum ena_regs_reset_reason_types reset_reason)
+{
+ adapter->reset_reason = reset_reason;
+ /* Make sure reset reason is set before triggering the reset */
+ smp_mb__before_atomic();
+ set_bit(ENA_FLAG_TRIGGER_RESET, &adapter->flags);
+}
+
enum ena_xdp_errors_t {
ENA_XDP_ALLOWED = 0,
ENA_XDP_CURRENT_MTU_TOO_LARGE,