Patchwork UBUNTU: SAUCE: alx: disables MSI generation

login
register
mail settings
Submitter AceLan Kao
Date April 19, 2013, 1:50 a.m.
Message ID <1366336226-30811-2-git-send-email-acelan.kao@canonical.com>
Download mbox | patch
Permalink /patch/237801/
State New
Headers show

Comments

AceLan Kao - April 19, 2013, 1:50 a.m.
BugLink: http://bugs.launchpad.net/bugs/927782

Compared the alx driver with the working one in
compat-wireless-3.6.8-1 and found we need this flag to make the
driver works for the chip revision less than C0.

Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
---
 ubuntu/alx/alx_main.c | 1 +
 1 file changed, 1 insertion(+)
Andy Whitcroft - April 19, 2013, 9:55 a.m.
On Fri, Apr 19, 2013 at 09:50:26AM +0800, AceLan Kao wrote:
> BugLink: http://bugs.launchpad.net/bugs/927782
> 
> Compared the alx driver with the working one in
> compat-wireless-3.6.8-1 and found we need this flag to make the
> driver works for the chip revision less than C0.
> 
> Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
> ---
>  ubuntu/alx/alx_main.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/ubuntu/alx/alx_main.c b/ubuntu/alx/alx_main.c
> index 7fe3f4b..700ebf1 100644
> --- a/ubuntu/alx/alx_main.c
> +++ b/ubuntu/alx/alx_main.c
> @@ -1026,6 +1026,7 @@ static int alx_identify_hw(struct alx_adapter *adpt)
>  		if (rev < ALX_REV_C0) {
>  			hw->ptrn_ofs = 0x600;
>  			hw->max_ptrns = 8;
> +			pdev->dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG;
>  		} else {
>  			hw->ptrn_ofs = 0x14000;
>  			hw->max_ptrns = 16;

Minimal fix, looks to do what is claimed.  Assuming this has been tested
to fix the 15 machines in question and has been tested on something
which is not those 15 machines with alx then:

Acked-by: Andy Whitcroft <apw@canonical.com>

-apw
Tim Gardner - April 19, 2013, 12:30 p.m.
On 04/18/2013 07:50 PM, AceLan Kao wrote:
> BugLink: http://bugs.launchpad.net/bugs/927782
> 
> Compared the alx driver with the working one in
> compat-wireless-3.6.8-1 and found we need this flag to make the
> driver works for the chip revision less than C0.
> 
> Signed-off-by: AceLan Kao <acelan.kao@canonical.com>
> ---
>  ubuntu/alx/alx_main.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/ubuntu/alx/alx_main.c b/ubuntu/alx/alx_main.c
> index 7fe3f4b..700ebf1 100644
> --- a/ubuntu/alx/alx_main.c
> +++ b/ubuntu/alx/alx_main.c
> @@ -1026,6 +1026,7 @@ static int alx_identify_hw(struct alx_adapter *adpt)
>  		if (rev < ALX_REV_C0) {
>  			hw->ptrn_ofs = 0x600;
>  			hw->max_ptrns = 8;
> +			pdev->dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG;
>  		} else {
>  			hw->ptrn_ofs = 0x14000;
>  			hw->max_ptrns = 16;
> 

This is unlikely to cause any regressions, but I'm wondering why this
code is in compat-wireless-3.6.8-1 but not in the alx repo at
git://github.com/erikarn/alx.git ?

Also applied to Raring.

Patch

diff --git a/ubuntu/alx/alx_main.c b/ubuntu/alx/alx_main.c
index 7fe3f4b..700ebf1 100644
--- a/ubuntu/alx/alx_main.c
+++ b/ubuntu/alx/alx_main.c
@@ -1026,6 +1026,7 @@  static int alx_identify_hw(struct alx_adapter *adpt)
 		if (rev < ALX_REV_C0) {
 			hw->ptrn_ofs = 0x600;
 			hw->max_ptrns = 8;
+			pdev->dev_flags |= PCI_DEV_FLAGS_MSI_INTX_DISABLE_BUG;
 		} else {
 			hw->ptrn_ofs = 0x14000;
 			hw->max_ptrns = 16;