Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 152683 Details for
Bug 233011
bcm43xx_mac80211 crashes into debugger on 12" powerbook
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
dwmw2-bcm43xx-mac80211-debug.patch
dwmw2-bcm43xx-mac80211-debug.patch (text/plain), 2.67 KB, created by
John W. Linville
on 2007-04-16 13:35:28 UTC
(
hide
)
Description:
dwmw2-bcm43xx-mac80211-debug.patch
Filename:
MIME Type:
Creator:
John W. Linville
Created:
2007-04-16 13:35:28 UTC
Size:
2.67 KB
patch
obsolete
>Subject: Re: [PATCH] bcm43xx-mac80211: Fix machine checks on PPC with rev 1 > PHYs >From: David Woodhouse <dwmw2@infradead.org> >To: Larry Finger <larry.finger@lwfinger.net> >Cc: "John W. Linville" <linville@tuxdriver.com>, > linux-wireless@vger.kernel.org, Bcm43xx-dev@lists.berlios.de, > Michael Buesch <mb@bu3sch.de> >Date: Mon, 16 Apr 2007 02:04:07 +0100 > >On Thu, 2007-04-12 at 20:22 -0500, Larry Finger wrote: >> Your tester needs to get a copy of David's hack that prints out the address of the offending >> register. That is the only way to tell what is happening. Once we know the address, then it will be >> a matter of getting printk's into the code to tell which one is failing. > >It's very simple... if we use inw instead of readw for the faulting I/O >access, then the machine check gets trapped. We can do this because on >PPC, PCI I/O is actually memory-mapped. The CPU doesn't have a separate >I/O space and instructions. So we just compensate for the address at >which PCI I/O is mapped, and abuse inw(). > >Then we make bcm43xx_phy_read() print the register it tried to access >whenever it gets 0xFFFF, and stick a WARN_ON(1) in the machine check >handler when it detects a machine check caused by an I/O access... > >--- ./drivers/net/wireless/mac80211/bcm43xx/bcm43xx_phy.c 2007-04-14 21:51:02.000000000 +0100 >+++ ./drivers/net/wireless/mac80211/bcm43xx/bcm43xx_phy.c 2007-04-16 01:39:44.000000000 +0100 >@@ -269,10 +270,13 @@ static inline u16 adjust_phyreg_for_phyt > u16 bcm43xx_phy_read(struct bcm43xx_wldev *dev, u16 offset) > { > struct bcm43xx_phy *phy = &dev->phy; >- >+ uint16_t foo; > offset = adjust_phyreg_for_phytype(phy, offset); > bcm43xx_write16(dev, BCM43xx_MMIO_PHY_CONTROL, offset); >- return bcm43xx_read16(dev, BCM43xx_MMIO_PHY_DATA); >+ foo = bcm43xx_read16(dev, BCM43xx_MMIO_PHY_DATA); >+ if (foo == 0xffff) >+ printk(KERN_DEBUG "Read phy reg %x; got 0xFFFF.\n", offset); >+ return foo; > } > > void bcm43xx_phy_write(struct bcm43xx_wldev *dev, u16 offset, u16 val) >--- ./drivers/ssb/pci.c 2007-04-14 21:51:02.000000000 +0100 >+++ ./drivers/ssb/pci.c 2007-04-15 23:44:27.000000000 +0100 >@@ -475,6 +475,7 @@ static u16 ssb_pci_read16(struct ssb_dev > if (unlikely(ssb_pci_switch_core(bus, dev))) > return 0xFFFF; > } >+ return inw(bus->mmio + offset - isa_io_base); > return readw(bus->mmio + offset); > } > >--- ./arch/powerpc/kernel/traps.c 2007-04-14 21:50:40.000000000 +0100 >+++ ./arch/powerpc/kernel/traps.c 2007-04-15 23:45:48.000000000 +0100 >@@ -343,8 +343,10 @@ void machine_check_exception(struct pt_r > return; > } > >- if (check_io_access(regs)) >+ if (check_io_access(regs)) { >+ WARN_ON(1); > return; >+ } > > #if defined(CONFIG_4xx) && !defined(CONFIG_440A) > if (reason & ESR_IMCP) { > >-- >dwmw2 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 233011
:
152576
| 152683 |
152718
|
193621
|
195141
|
196261