Re: [patch 10/35] net: intel: Remove in_interrupt() warnings

From: Alexander Duyck
Date: Mon Sep 28 2020 - 19:14:11 EST


On Sun, Sep 27, 2020 at 1:00 PM Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>
> From: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
>
> in_interrupt() is ill defined and does not provide what the name
> suggests. The usage especially in driver code is deprecated and a tree wide
> effort to clean up and consolidate the (ab)usage of in_interrupt() and
> related checks is happening.
>
> In this case the checks cover only parts of the contexts in which these
> functions cannot be called. They fail to detect preemption or interrupt
> disabled invocations.
>
> As the functions which are invoked from the various places contain already
> a broad variety of checks (always enabled or debug option dependent) cover
> all invalid conditions already, there is no point in having inconsistent
> warnings in those drivers.
>
> Just remove them.
>
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
> Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Jeff Kirsher <jeffrey.t.kirsher@xxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> Cc: Jakub Kicinski <kuba@xxxxxxxxxx>
> Cc: netdev@xxxxxxxxxxxxxxx

The patch looks good to me.

Reviewed-by: Alexander Duyck <alexander.h.duyck@xxxxxxxxxxxxxxx>

> ---
> drivers/net/ethernet/intel/e1000/e1000_main.c | 1 -
> drivers/net/ethernet/intel/fm10k/fm10k_pci.c | 2 --
> drivers/net/ethernet/intel/i40e/i40e_main.c | 4 ----
> drivers/net/ethernet/intel/ice/ice_main.c | 1 -
> drivers/net/ethernet/intel/igb/igb_main.c | 1 -
> drivers/net/ethernet/intel/igc/igc_main.c | 1 -
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 1 -
> drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 2 --
> 8 files changed, 13 deletions(-)
>
> --- a/drivers/net/ethernet/intel/e1000/e1000_main.c
> +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
> @@ -534,7 +534,6 @@ void e1000_down(struct e1000_adapter *ad
>
> void e1000_reinit_locked(struct e1000_adapter *adapter)
> {
> - WARN_ON(in_interrupt());
> while (test_and_set_bit(__E1000_RESETTING, &adapter->flags))
> msleep(1);
>
> --- a/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> +++ b/drivers/net/ethernet/intel/fm10k/fm10k_pci.c
> @@ -221,8 +221,6 @@ static bool fm10k_prepare_for_reset(stru
> {
> struct net_device *netdev = interface->netdev;
>
> - WARN_ON(in_interrupt());
> -
> /* put off any impending NetWatchDogTimeout */
> netif_trans_update(netdev);
>
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
> @@ -6689,7 +6689,6 @@ static void i40e_vsi_reinit_locked(struc
> {
> struct i40e_pf *pf = vsi->back;
>
> - WARN_ON(in_interrupt());
> while (test_and_set_bit(__I40E_CONFIG_BUSY, pf->state))
> usleep_range(1000, 2000);
> i40e_down(vsi);
> @@ -8462,9 +8461,6 @@ void i40e_do_reset(struct i40e_pf *pf, u
> {
> u32 val;
>
> - WARN_ON(in_interrupt());
> -
> -
> /* do the biggest reset indicated */
> if (reset_flags & BIT_ULL(__I40E_GLOBAL_RESET_REQUESTED)) {
>
> --- a/drivers/net/ethernet/intel/ice/ice_main.c
> +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> @@ -486,7 +486,6 @@ static void ice_do_reset(struct ice_pf *
> struct ice_hw *hw = &pf->hw;
>
> dev_dbg(dev, "reset_type 0x%x requested\n", reset_type);
> - WARN_ON(in_interrupt());
>
> ice_prepare_for_reset(pf);
>
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -2220,7 +2220,6 @@ void igb_down(struct igb_adapter *adapte
>
> void igb_reinit_locked(struct igb_adapter *adapter)
> {
> - WARN_ON(in_interrupt());
> while (test_and_set_bit(__IGB_RESETTING, &adapter->state))
> usleep_range(1000, 2000);
> igb_down(adapter);
> --- a/drivers/net/ethernet/intel/igc/igc_main.c
> +++ b/drivers/net/ethernet/intel/igc/igc_main.c
> @@ -3831,7 +3831,6 @@ void igc_down(struct igc_adapter *adapte
>
> void igc_reinit_locked(struct igc_adapter *adapter)
> {
> - WARN_ON(in_interrupt());
> while (test_and_set_bit(__IGC_RESETTING, &adapter->state))
> usleep_range(1000, 2000);
> igc_down(adapter);
> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
> @@ -5677,7 +5677,6 @@ static void ixgbe_up_complete(struct ixg
>
> void ixgbe_reinit_locked(struct ixgbe_adapter *adapter)
> {
> - WARN_ON(in_interrupt());
> /* put off any impending NetWatchDogTimeout */
> netif_trans_update(adapter->netdev);
>
> --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
> @@ -2526,8 +2526,6 @@ void ixgbevf_down(struct ixgbevf_adapter
>
> void ixgbevf_reinit_locked(struct ixgbevf_adapter *adapter)
> {
> - WARN_ON(in_interrupt());
> -
> while (test_and_set_bit(__IXGBEVF_RESETTING, &adapter->state))
> msleep(1);
>
>