+ crash-in-aty128_set_lcd_enable-on-powerbook.patch added to -mm tree

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

 



The patch titled

     crash in aty128_set_lcd_enable() on PowerBook

has been added to the -mm tree.  Its filename is

     crash-in-aty128_set_lcd_enable-on-powerbook.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: crash in aty128_set_lcd_enable() on PowerBook
From: Olaf Hering <olh@xxxxxxx>

Current Linus tree crashes in aty128_set_lcd_enable() because par->pdev
is NULL. This happens since at least a week. Call trace is:

aty128_set_lcd_enable
aty128fb_set_par
fbcon_init
visual_init
take_over_console
fbcon_takeover
notifier_call_chain
blocking_notifier_call_chain
register_framebuffer
aty128fb_probe
pci_device_probe
bus_for_each_dev
driver_attach
bus_add_driver
driver_register
__pci_register_driver
aty128fb_init
init
kernel_thread

- info->fix was assigned twice.

- par->vram_size is assigned in aty128_probe(), no need to redo it again
  in aty128_init()

- register_framebuffer() uses uninitialized struct members, move it past
  par->pdev assignment and past aty128_bl_init().

Signed-off-by: Olaf Hering <olh@xxxxxxx>
Acked-by: Antonino Daplas <adaplas@xxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 drivers/video/aty/aty128fb.c |   10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff -puN drivers/video/aty/aty128fb.c~crash-in-aty128_set_lcd_enable-on-powerbook drivers/video/aty/aty128fb.c
--- a/drivers/video/aty/aty128fb.c~crash-in-aty128_set_lcd_enable-on-powerbook
+++ a/drivers/video/aty/aty128fb.c
@@ -1913,9 +1913,6 @@ static int __devinit aty128_init(struct 
 	u8 chip_rev;
 	u32 dac;
 
-	if (!par->vram_size)	/* may have already been probed */
-		par->vram_size = aty_ld_le32(CONFIG_MEMSIZE) & 0x03FFFFFF;
-
 	/* Get the chip revision */
 	chip_rev = (aty_ld_le32(CONFIG_CNTL) >> 16) & 0x1F;
 
@@ -2028,9 +2025,6 @@ static int __devinit aty128_init(struct 
 
 	aty128_init_engine(par);
 
-	if (register_framebuffer(info) < 0)
-		return 0;
-
 	par->pm_reg = pci_find_capability(pdev, PCI_CAP_ID_PM);
 	par->pdev = pdev;
 	par->asleep = 0;
@@ -2040,6 +2034,9 @@ static int __devinit aty128_init(struct 
 	aty128_bl_init(par);
 #endif
 
+	if (register_framebuffer(info) < 0)
+		return 0;
+
 	printk(KERN_INFO "fb%d: %s frame buffer device on %s\n",
 	       info->node, info->fix.id, video_card);
 
@@ -2089,7 +2086,6 @@ static int __devinit aty128_probe(struct
 	par = info->par;
 
 	info->pseudo_palette = par->pseudo_palette;
-	info->fix = aty128fb_fix;
 
 	/* Virtualize mmio region */
 	info->fix.mmio_start = reg_addr;
_

Patches currently in -mm which might be from olh@xxxxxxx are

enable-mac-partition-label-per-default-on-pmac.patch
hide-onboard-graphics-drivers-on-g5.patch
crash-in-aty128_set_lcd_enable-on-powerbook.patch
remove-rpm_build_root-from-asm-offsetsh.patch
use-gcc-o1-in-fs-reiserfs-only-for-ancient-gcc-versions.patch
ignore-partition-table-on-disks-with-aix-label.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux