Some BIOSs (eg. the AMI BIOS on the Asus P4P800 motherboard) don't initialise the GART address, and pcibios_assign_resources() can ignore it because it can be marked as a host bridge (see https://bugzilla.kernel.org/show_bug.cgi?id=24392#c5 for details). This was handled correctly up to 2.6.35, but the pci_enable_device() cleanup in 2.6.36 96576a9e1a0cdb8 ("agp: intel-agp: do not use PCI resources before pci_enable_device()") means that the kernel tries to enable the GART before assigning it an address; in such cases the GART overlaps with other device assignments and ends up being disabled. This patch fixes https://bugzilla.kernel.org/show_bug.cgi?id=24392 Note that I imagine efficeon-agp.c probably has the same problem, but I can't test that and I'd like to make sure this patch is suitable for -stable (since 2.6.36 and 2.6.37 are affected). Signed-off-by: Stephen Kitt <steve@sk2.org> Cc: Bjorn Helgaas <bjorn.helgaas@hp.com> Cc: Maciej Rutecki <maciej.rutecki@gmail.com> Cc: "Rafael J. Wysocki" <rjw@sisk.pl> Cc: Kulikov Vasiliy <segooon@gmail.com> Cc: Florian Mickler <florian@mickler.org> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Dave Airlie <airlied@redhat.com> |
||
|---|---|---|
| .. | ||
| agp | ||
| hw_random | ||
| ip2 | ||
| ipmi | ||
| mwave | ||
| pcmcia | ||
| rio | ||
| tpm | ||
| xilinx_hwicap | ||
| amiserial.c | ||
| apm-emulation.c | ||
| applicom.c | ||
| applicom.h | ||
| bfin_jtag_comm.c | ||
| bfin-otp.c | ||
| briq_panel.c | ||
| bsr.c | ||
| cd1865.h | ||
| cyclades.c | ||
| digi1.h | ||
| digiFep1.h | ||
| digiPCI.h | ||
| ds1302.c | ||
| ds1620.c | ||
| dsp56k.c | ||
| dtlk.c | ||
| efirtc.c | ||
| epca.c | ||
| epca.h | ||
| epcaconfig.h | ||
| generic_nvram.c | ||
| generic_serial.c | ||
| genrtc.c | ||
| hangcheck-timer.c | ||
| hpet.c | ||
| i8k.c | ||
| isicom.c | ||
| istallion.c | ||
| Kconfig | ||
| lp.c | ||
| Makefile | ||
| mbcs.c | ||
| mbcs.h | ||
| mem.c | ||
| misc.c | ||
| mmtimer.c | ||
| moxa.c | ||
| moxa.h | ||
| mspec.c | ||
| mxser.c | ||
| mxser.h | ||
| nozomi.c | ||
| nsc_gpio.c | ||
| nvram.c | ||
| nwbutton.c | ||
| nwbutton.h | ||
| nwflash.c | ||
| pc8736x_gpio.c | ||
| ppdev.c | ||
| ps3flash.c | ||
| ramoops.c | ||
| random.c | ||
| raw.c | ||
| riscom8_reg.h | ||
| riscom8.c | ||
| riscom8.h | ||
| rocket_int.h | ||
| rocket.c | ||
| rocket.h | ||
| rtc.c | ||
| scc.h | ||
| scx200_gpio.c | ||
| ser_a2232.c | ||
| ser_a2232.h | ||
| ser_a2232fw.ax | ||
| ser_a2232fw.h | ||
| serial167.c | ||
| snsc_event.c | ||
| snsc.c | ||
| snsc.h | ||
| sonypi.c | ||
| specialix_io8.h | ||
| specialix.c | ||
| stallion.c | ||
| sx.c | ||
| sx.h | ||
| sxboards.h | ||
| sxwindow.h | ||
| synclink_gt.c | ||
| synclink.c | ||
| synclinkmp.c | ||
| tb0219.c | ||
| tlclk.c | ||
| toshiba.c | ||
| ttyprintk.c | ||
| uv_mmtimer.c | ||
| viotape.c | ||
| vme_scc.c | ||