aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/neterion/s2io.h
diff options
context:
space:
mode:
authorJakub Kicinski <kuba@kernel.org>2020-10-31 09:55:44 -0700
committerJakub Kicinski <kuba@kernel.org>2020-10-31 09:55:44 -0700
commit4e5d79bbe82eb172641f07ebdd2a62f09520e422 (patch)
tree8bd830b1f2ff603887b0fa4a27a7930cd8c11f17 /drivers/net/ethernet/neterion/s2io.h
parentMerge branch 'l2-multicast-forwarding-for-ocelot-switch' (diff)
parentnet: tlan: Replace in_irq() usage (diff)
downloadlinux-dev-4e5d79bbe82eb172641f07ebdd2a62f09520e422.tar.xz
linux-dev-4e5d79bbe82eb172641f07ebdd2a62f09520e422.zip
Merge branch 'in_interrupt-cleanup-part-2'
Sebastian Andrzej Siewior says: ==================== in_interrupt() cleanup, part 2 in the discussion about preempt count consistency across kernel configurations: https://lore.kernel.org/r/20200914204209.256266093@linutronix.de/ Linus clearly requested that code in drivers and libraries which changes behaviour based on execution context should either be split up so that e.g. task context invocations and BH invocations have different interfaces or if that's not possible the context information has to be provided by the caller which knows in which context it is executing. This includes conditional locking, allocation mode (GFP_*) decisions and avoidance of code paths which might sleep. In the long run, usage of 'preemptible, in_*irq etc.' should be banned from driver code completely. This is part two addressing remaining drivers except for orinoco-usb. ==================== Cherry picking only Ethernet changes. Link: https://lore.kernel.org/r/20201027225454.3492351-1-bigeasy@linutronix.de Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/neterion/s2io.h')
-rw-r--r--drivers/net/ethernet/neterion/s2io.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ethernet/neterion/s2io.h b/drivers/net/ethernet/neterion/s2io.h
index 6fa3159a977f..5a6032212c19 100644
--- a/drivers/net/ethernet/neterion/s2io.h
+++ b/drivers/net/ethernet/neterion/s2io.h
@@ -1066,7 +1066,7 @@ static void tx_intr_handler(struct fifo_info *fifo_data);
static void s2io_handle_errors(void * dev_id);
static void s2io_tx_watchdog(struct net_device *dev, unsigned int txqueue);
-static void s2io_set_multicast(struct net_device *dev);
+static void s2io_set_multicast(struct net_device *dev, bool may_sleep);
static int rx_osm_handler(struct ring_info *ring_data, struct RxD_t * rxdp);
static void s2io_link(struct s2io_nic * sp, int link);
static void s2io_reset(struct s2io_nic * sp);
@@ -1087,7 +1087,7 @@ static int s2io_set_swapper(struct s2io_nic * sp);
static void s2io_card_down(struct s2io_nic *nic);
static int s2io_card_up(struct s2io_nic *nic);
static int wait_for_cmd_complete(void __iomem *addr, u64 busy_bit,
- int bit_state);
+ int bit_state, bool may_sleep);
static int s2io_add_isr(struct s2io_nic * sp);
static void s2io_rem_isr(struct s2io_nic * sp);