lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230119114125.5182c7ab@canb.auug.org.au>
Date:   Thu, 19 Jan 2023 11:41:25 +1100
From:   Stephen Rothwell <sfr@...b.auug.org.au>
To:     David Miller <davem@...emloft.net>,
        Networking <netdev@...r.kernel.org>
Cc:     Alex Elder <elder@...aro.org>,
        Caleb Connolly <caleb.connolly@...aro.org>,
        Jakub Kicinski <kuba@...nel.org>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Linux Next Mailing List <linux-next@...r.kernel.org>
Subject: linux-next: manual merge of the net-next tree with the net tree

Hi all,

Today's linux-next merge of the net-next tree got conflicts in:

  drivers/net/ipa/ipa_interrupt.c
  drivers/net/ipa/ipa_interrupt.h

between commit:

  9ec9b2a30853 ("net: ipa: disable ipa interrupt during suspend")

from the net tree and commits:

  8e461e1f092b ("net: ipa: introduce ipa_interrupt_enable()")
  d50ed3558719 ("net: ipa: enable IPA interrupt handlers separate from registration")

from the net-next tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc drivers/net/ipa/ipa_interrupt.c
index c1b3977e1ae4,fd982cec8068..000000000000
--- a/drivers/net/ipa/ipa_interrupt.c
+++ b/drivers/net/ipa/ipa_interrupt.c
@@@ -127,16 -129,29 +129,39 @@@ out_power_put
  	return IRQ_HANDLED;
  }
  
 +void ipa_interrupt_irq_disable(struct ipa *ipa)
 +{
 +	disable_irq(ipa->interrupt->irq);
 +}
 +
 +void ipa_interrupt_irq_enable(struct ipa *ipa)
 +{
 +	enable_irq(ipa->interrupt->irq);
 +}
 +
+ static void ipa_interrupt_enabled_update(struct ipa *ipa)
+ {
+ 	const struct ipa_reg *reg = ipa_reg(ipa, IPA_IRQ_EN);
+ 
+ 	iowrite32(ipa->interrupt->enabled, ipa->reg_virt + ipa_reg_offset(reg));
+ }
+ 
+ /* Enable an IPA interrupt type */
+ void ipa_interrupt_enable(struct ipa *ipa, enum ipa_irq_id ipa_irq)
+ {
+ 	/* Update the IPA interrupt mask to enable it */
+ 	ipa->interrupt->enabled |= BIT(ipa_irq);
+ 	ipa_interrupt_enabled_update(ipa);
+ }
+ 
+ /* Disable an IPA interrupt type */
+ void ipa_interrupt_disable(struct ipa *ipa, enum ipa_irq_id ipa_irq)
+ {
+ 	/* Update the IPA interrupt mask to disable it */
+ 	ipa->interrupt->enabled &= ~BIT(ipa_irq);
+ 	ipa_interrupt_enabled_update(ipa);
+ }
+ 
  /* Common function used to enable/disable TX_SUSPEND for an endpoint */
  static void ipa_interrupt_suspend_control(struct ipa_interrupt *interrupt,
  					  u32 endpoint_id, bool enable)
diff --cc drivers/net/ipa/ipa_interrupt.h
index 8a1bd5b89393,764a65e6b503..000000000000
--- a/drivers/net/ipa/ipa_interrupt.h
+++ b/drivers/net/ipa/ipa_interrupt.h
@@@ -85,22 -53,20 +53,36 @@@ void ipa_interrupt_suspend_clear_all(st
   */
  void ipa_interrupt_simulate_suspend(struct ipa_interrupt *interrupt);
  
 +/**
 + * ipa_interrupt_irq_enable() - Enable IPA interrupts
 + * @ipa:	IPA pointer
 + *
 + * This enables the IPA interrupt line
 + */
 +void ipa_interrupt_irq_enable(struct ipa *ipa);
 +
 +/**
 + * ipa_interrupt_irq_disable() - Disable IPA interrupts
 + * @ipa:	IPA pointer
 + *
 + * This disables the IPA interrupt line
 + */
 +void ipa_interrupt_irq_disable(struct ipa *ipa);
 +
+ /**
+  * ipa_interrupt_enable() - Enable an IPA interrupt type
+  * @ipa:	IPA pointer
+  * @ipa_irq:	IPA interrupt ID
+  */
+ void ipa_interrupt_enable(struct ipa *ipa, enum ipa_irq_id ipa_irq);
+ 
+ /**
+  * ipa_interrupt_disable() - Disable an IPA interrupt type
+  * @ipa:	IPA pointer
+  * @ipa_irq:	IPA interrupt ID
+  */
+ void ipa_interrupt_disable(struct ipa *ipa, enum ipa_irq_id ipa_irq);
+ 
  /**
   * ipa_interrupt_config() - Configure the IPA interrupt framework
   * @ipa:	IPA pointer

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ