[I am not subscribed to [EMAIL PROTECTED]; please Cc the Debian bug
address me on replies.]
I was sent the following patch, but it was credited only to the Gentoo
SPARC folks.
I'd like to be a bit more specific. With Donnie Berkholz's assistance,
I had a look at http://bugs.gentoo.org/show_bug.cgi?id=43630.
It appears to me that this fix was authored by Daniel Seyffer and Ciaran
McCreesh. I also assume that, if copyright attaches, that it is licensed
under the same terms as those in the file, used by Concurrent Computer
Corporation and Metro Link Incorporated. (Sorry to be a pedant about
licensing; those of you who've worked with the XFree86 source code
lately can hopefully appreciate why I am being very careful.)
I will be crediting the patch accordingly; please do not hesitate to
contact me if this is incorrect.
Thanks, guys!
Date: Wed, 19 May 2004 15:02:50 -0500
From: Tom 'spot' Callaway [EMAIL PROTECTED]
To: debian-sparc@lists.debian.org
Subject: Re: Kernel 2.6.x breaks X on blade 100
On Wed, 2004-05-19 at 09:49 +0200, Admar Schoonen wrote:
On Wed, May 19, 2004 at 08:53:04AM +0200, Elie De Brauwer wrote:
I've been trying to install 2.6.6 (and 2.6.5) on my Sun Blade 100,
everything boots well but X won't work, in my 2.4.x I got a working
You'll have to apply a small patch for 2.6 kernels:
http://lists.debian.org/debian-sparc/2004/02/msg00013.html
Or, you could fix X. Patch attached (originally done by the Gentoo SPARC
folks).
~spot
---
Tom spot Callaway tcallawa(a)redhat*com LCA, RHCE
Red Hat Sales Engineer || Aurora SPARC Linux Project Leader
If you are going through hell, keep going.
- Sir Winston Churchill
--- xc/programs/Xserver/hw/xfree86/os-support/bus/linuxPci.c.BAD
2004-04-09 14:50:59.0 -0500
+++ xc/programs/Xserver/hw/xfree86/os-support/bus/linuxPci.c2004-04-09
14:54:14.0 -0500
@@ -104,6 +104,7 @@
static int lbus,ldev,lfunc,fd = -1;
int bus, dev, func;
charfile[32];
+ struct stat ignored;
bus = PCI_BUS_FROM_TAG(tag);
dev = PCI_DEV_FROM_TAG(tag);
@@ -111,12 +112,21 @@
if (fd == -1 || bus != lbus || dev != ldev || func != lfunc) {
if (fd != -1)
close(fd);
- if (bus 256)
- sprintf(file, /proc/bus/pci/%02x/%02x.%1x,
- bus, dev, func);
- else
- sprintf(file, /proc/bus/pci/%04x/%02x.%1x,
- bus, dev, func);
+ if (bus 256) {
+ if (stat(/proc/bus/pci/00, ignored) 0)
+ sprintf(file,
/proc/bus/pci/:%02x/%02x.%1x,
+ bus, dev, func);
+ else
+ sprintf(file, /proc/bus/pci/%02x/%02x.%1x,
+ bus, dev, func);
+ } else {
+ if (stat(/proc/bus/pci/00, ignored) 0)
+ sprintf(file,
/proc/bus/pci/:%04x/%02x.%1x,
+ bus, dev, func);
+ else
+ sprintf(file, /proc/bus/pci/%04x/%02x.%1x,
+ bus, dev, func);
+ }
fd = open(file,O_RDWR);
lbus = bus;
ldev = dev;
--
G. Branden Robinson| You are not angry with people when
Debian GNU/Linux | you laugh at them. Humor teaches
[EMAIL PROTECTED] | them tolerance.
http://people.debian.org/~branden/ | -- W. Somerset Maugham
signature.asc
Description: Digital signature