Guess what? An automatic Kernel update this morning (presumably to fix
some other problem) wiped out all that hard work. At least I only had to
re-install what I did yesterday and didn't have to rebuild it all!
This is on HP Pavilion dm1 4300sa.
David
On 19/10/13 17:14, James Dafoe wrote:
> For those on Ubuntu 13.10 with kernel 3.11, problem is caused by changes
> to rt2x00pci kernel module:
> https://bugzilla.kernel.org/show_bug.cgi?id=61621. Patch has been
> submitted to kernel developers:
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/drivers/net/wireless/rt2x00/rt2x00pci.c?id=9483f40d8d01918b399b4e24d0c1111db0afffeb.
> To get it to work before those changes are included in Ubuntu, rebuild
> the kernel with the patch:
>
>
> Rebuild kernel with patch:
> ------------------------
> apt-get source linux-image-$(uname -r)
> sudo apt-get build-dep linux-image-$(uname -r)
> cd linux-3.11.0
> patch -p1 < ../rt2x00pci.diff
> fakeroot debian/rules clean
> fakeroot debian/rules binary-headers binary-generic
>
>
> Install:
> ------------------------
> cd ..
> sudo dpkg -i linux-headers*
> sudo dpkg -i linux-image*
> sudo reboot
>
>
> Copy everything between ===== to rt2x00pci.diff
>
> ==================================================================================================
> diff --git a/drivers/net/wireless/rt2x00/rt2x00pci.c b/drivers/net/wireless/rt2x00/rt2x00pci.c
> index 76d95de..dc49e52 100644
> --- a/drivers/net/wireless/rt2x00/rt2x00pci.c
> +++ b/drivers/net/wireless/rt2x00/rt2x00pci.c
> @@ -105,13 +105,11 @@ int rt2x00pci_probe(struct pci_dev *pci_dev, const struct rt2x00_ops *ops)
> goto exit_release_regions;
> }
>
> - pci_enable_msi(pci_dev);
> -
> hw = ieee80211_alloc_hw(sizeof(struct rt2x00_dev), ops->hw);
> if (!hw) {
> rt2x00_probe_err("Failed to allocate hardware\n");
> retval = -ENOMEM;
> - goto exit_disable_msi;
> + goto exit_release_regions;
> }
>
> pci_set_drvdata(pci_dev, hw);
> @@ -152,9 +150,6 @@ exit_free_reg:
> exit_free_device:
> ieee80211_free_hw(hw);
>
> -exit_disable_msi:
> - pci_disable_msi(pci_dev);
> -
> exit_release_regions:
> pci_release_regions(pci_dev);
>
> @@ -179,8 +174,6 @@ void rt2x00pci_remove(struct pci_dev *pci_dev)
> rt2x00pci_free_reg(rt2x00dev);
> ieee80211_free_hw(hw);
>
> - pci_disable_msi(pci_dev);
> -
> /*
> * Free the PCI device data.
> */
> ==================================================================================================
>
> ** Bug watch added: Linux Kernel Bug Tracker #61621
> http://bugzilla.kernel.org/show_bug.cgi?id=61621
>
Guess what? An automatic Kernel update this morning (presumably to fix
some other problem) wiped out all that hard work. At least I only had to
re-install what I did yesterday and didn't have to rebuild it all!
This is on HP Pavilion dm1 4300sa.
David
On 19/10/13 17:14, James Dafoe wrote: /bugzilla. kernel. org/show_ bug.cgi? id=61621. Patch has been /git.kernel. org/cgit/ linux/kernel/ git/torvalds/ linux.git/ commit/ drivers/ net/wireless/ rt2x00/ rt2x00pci. c?id=9483f40d8d 01918b399b4e24d 0c1111db0afffeb. ------- ------- --- ------- ------- --- ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= net/wireless/ rt2x00/ rt2x00pci. c b/drivers/ net/wireless/ rt2x00/ rt2x00pci. c net/wireless/ rt2x00/ rt2x00pci. c net/wireless/ rt2x00/ rt2x00pci. c probe(struct pci_dev *pci_dev, const struct rt2x00_ops *ops) regions; msi(pci_ dev); alloc_hw( sizeof( struct rt2x00_dev), ops->hw); probe_err( "Failed to allocate hardware\n"); regions; drvdata( pci_dev, hw); free_hw( hw); msi(pci_ dev); regions: regions( pci_dev) ; remove( struct pci_dev *pci_dev) free_reg( rt2x00dev) ; free_hw( hw); msi(pci_ dev); ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= ======= bugzilla. kernel. org/show_ bug.cgi? id=61621
> For those on Ubuntu 13.10 with kernel 3.11, problem is caused by changes
> to rt2x00pci kernel module:
> https:/
> submitted to kernel developers:
> https:/
> To get it to work before those changes are included in Ubuntu, rebuild
> the kernel with the patch:
>
>
> Rebuild kernel with patch:
> -------
> apt-get source linux-image-$(uname -r)
> sudo apt-get build-dep linux-image-$(uname -r)
> cd linux-3.11.0
> patch -p1 < ../rt2x00pci.diff
> fakeroot debian/rules clean
> fakeroot debian/rules binary-headers binary-generic
>
>
> Install:
> -------
> cd ..
> sudo dpkg -i linux-headers*
> sudo dpkg -i linux-image*
> sudo reboot
>
>
> Copy everything between ===== to rt2x00pci.diff
>
> =======
> diff --git a/drivers/
> index 76d95de..dc49e52 100644
> --- a/drivers/
> +++ b/drivers/
> @@ -105,13 +105,11 @@ int rt2x00pci_
> goto exit_release_
> }
>
> - pci_enable_
> -
> hw = ieee80211_
> if (!hw) {
> rt2x00_
> retval = -ENOMEM;
> - goto exit_disable_msi;
> + goto exit_release_
> }
>
> pci_set_
> @@ -152,9 +150,6 @@ exit_free_reg:
> exit_free_device:
> ieee80211_
>
> -exit_disable_msi:
> - pci_disable_
> -
> exit_release_
> pci_release_
>
> @@ -179,8 +174,6 @@ void rt2x00pci_
> rt2x00pci_
> ieee80211_
>
> - pci_disable_
> -
> /*
> * Free the PCI device data.
> */
> =======
>
> ** Bug watch added: Linux Kernel Bug Tracker #61621
> http://
>