[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#622401: xserver-xorg-video-trident: Error message and exit with iceape and iceweasel. One solution.



On Fri, Apr 29, 2011 at 18:15:11 +0000, Bjarni Ingi Gislason wrote:

> On Thu, Apr 28, 2011 at 06:03:07PM +0000, Bjarni Ingi Gislason wrote:
> > On Fri, Apr 15, 2011 at 07:50:03PM +0000, Bjarni Ingi Gislason wrote:
> > > On Tue, Apr 12, 2011 at 07:25:21PM +0000, Bjarni Ingi Gislason wrote:
> > > > Package: xserver-xorg-video-trident
> > > > Version: 1:1.3.4-2
> > > > Severity: important
> > > > 
> > > > *** Please type your report below this line ***
> > > > 
> > > >   If "iceweasel" or "iceape" are used, there is an error message
> > > > and exit.
> > > > 
> > > > (EE) TRIDENT(0): Unable to map IO aperture. Invalid argument (22)
> > > > Fatal server error:
> > > > AddScreen/ScreenInit failed for driver 0
> > > > ...
> > > > Error: cannot open display: :0
> > > > 
> > 
> >   Some data related to the PCI bus.
> > 
> 
>   There is a name error in "devp->num_mappings[0]"; it should be
> "devp->mappings[0]".
> 
> >   This causes error 22 (EINVAL), that trident reports:
> > 
> > libpciaccess: common_interface.c: Already mapped is
> > "devp->num_mappings[0]" with devp->num_mappings = 2, base =
> > 0xfe7f0000, and size = 0x10000
> > 
> > [Rest is removed]
> 
>   (The commands that I use are  "X &" and "iceweasel &" on a text
> terminal.)
> 
>   I have to eliminate the "return EINVAL;" statement to get the
> browser to function.
> 
Sounds like a pci_device_unmap_range is missing from the CloseScreen
path.  If you can figure that out from the driver that would be nice.

In theory, as far as I can tell:
- the IO bar is mapped in TRIDENTPreInit, then unmapped before
  TRIDENTPreInit returns
- it's mapped again in each server generation's TRIDENTScreenInit, and
  unmapped in TRIDENTCloseScreen
I'm not seeing the error by quick inspection, but I may be missing
something obvious...

Cheers,
Julien



Reply to: