|
Bugzilla – Full Text Bug Listing |
| Summary: | Reading Video BIOS using xf86ReadPciBIOS results in system hang - ATI Radeon 7000 | ||
|---|---|---|---|
| Product: | [openSUSE] SUSE Linux 10.1 | Reporter: | Rod Macdonald <rod.macdonald> |
| Component: | X.Org | Assignee: | Stefan Dirsch <sndirsch> |
| Status: | RESOLVED FIXED | QA Contact: | Stefan Dirsch <sndirsch> |
| Severity: | Major | ||
| Priority: | P2 - High | CC: | antonovi, eich, eldho_kuriakose, marc.ruehrschneck, mtippett, wwlinuxengineering |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | i386 | ||
| OS: | SLES 9 | ||
| Whiteboard: | |||
| Found By: | Customer | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
XOrg patch used for RHEL4
XFree86 patch for RHEL3 xorg-x11-server-6.9.0-21.i586.rpm xorg-x11-server-6.9.0-21.x86_64.rpm additional fix xorg-x11-server-6.9.0-21.i586.rpm xorg-x11-server-6.9.0-21.x86_64.rpm |
||
|
Description
Rod Macdonald
2006-02-16 22:45:06 UTC
Created attachment 68925 [details]
XOrg patch used for RHEL4
Created attachment 68926 [details]
XFree86 patch for RHEL3
Please test my patch in https://bugs.freedesktop.org/show_bug.cgi?id=4139 I should be able to test it myself also. I believe it is a better mid-term solution than the RH quick hack as this can pop up in other drivers also. According to previous comment by Egbert. Dell is reporting a Sev 1 problem for SLES10 which has similarities to this one (IERR on reboot). Would you be able to provide RPMs or other files with Egbert's patch for testing. They are also reporting an IERR when "test this setting" was run. Would that call xf86ReadPciBIOS? Fatal warning (for autobuild):
xf86pciBus.c: In function 'getPciVideoPtr':
xf86pciBus.c:1612: warning: control reaches end of non-void function
[...]
pciVideoPtr
getPciVideoPtr(tag)
{
int n = 0;
pciVideoPtr pvp = NULL;
if (!xf86PciVideoInfo) return 0;
while ((pvp = xf86PciVideoInfo[n++])) {
if (pciTag(pvp->bus,pvp->device,pvp->func) == tag)
return pvp;
}
if (!pvp) return 0;
}
Egbert, what's the correct fix? Always return 0, i.e.
--- if (!pvp) return 0;
+++ return 0;
since this is checked later by the functions, which call getPciVideoPtr?
Yeah, this would be the correct fix. Thanks for checking! Created attachment 70926 [details]
xorg-x11-server-6.9.0-21.i586.rpm
Created attachment 70927 [details]
xorg-x11-server-6.9.0-21.x86_64.rpm
The RPMs in my previous comments right above include Egbert's patch. Rod, could you give it a try? Thanks.
Looking at Egbert's comment ("One may try something like this. Please note: this is entirely untested.") and the size of the patch itself I'm not really happy about still including this patch for CODE10. IMHO testing on different platforms, i.e. i386, x86_64 and ia64 (at least) would be required.
It might be an option to include only the patch in comment #1 for CODE10.
Egbert, could you check this patch as well (if you didn't yet)? Thanks.
I'm testing my fix right now. --- if (!pvp) return 0;
+++ return 0;
This should actually be
return NULL;
on the other hand in Pci.c in:
+ if (!(emptybase = getEmptyPciRange(Tag,b_reg))) {
+ xf86Msg(X_ERROR,"Cannot find empty range to map base to\n");
+ return NULL;
+ }
return NULL; should be return 0;
Sorry.
Created attachment 71067 [details]
additional fix
I've tested my patch and I verified that it works. I came across some other not totally unrelated problems which are addressed by this additional patch.
Thanks, Egbert. I'll provide RPMs, which will include the changes of comments #15+16, for testing later. Egbert, on which platforms did you make your tests? Created attachment 71094 [details]
xorg-x11-server-6.9.0-21.i586.rpm
Created attachment 71095 [details]
xorg-x11-server-6.9.0-21.x86_64.rpm
Rod, could you give it a try? Thanks. Rod, any update from your side on this one? I'll discuss with Dell to see if they can test the rpm. For the short-term we are including the patch from comment #1 as part of the custom rpm ATI will provide to Dell. Hopefully this can be replaced with Egbert's patch eventually. Yeah, I will prepare the patch for commit as there seems to be a consensus on this. Egbert, do you plan to have this in CODE10 Beta 9 (this Thursday), or do you still need input from ATI at this point? Patch applied. Fixed with 10.1 > RC1, i.e. SLES/SLED Beta10. |