pseudo_palette should be dynamically allocated for each fb.

Signed-off-by: Aaro Koskinen <[email protected]>
Reviewed-by: Dan Carpenter <[email protected]>
---
 drivers/staging/xgifb/XGI_main.h    |    2 --
 drivers/staging/xgifb/XGI_main_26.c |    2 +-
 drivers/staging/xgifb/XGIfb.h       |    2 ++
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/xgifb/XGI_main.h b/drivers/staging/xgifb/XGI_main.h
index 896cf14..e584f0b 100644
--- a/drivers/staging/xgifb/XGI_main.h
+++ b/drivers/staging/xgifb/XGI_main.h
@@ -160,8 +160,6 @@ static struct fb_fix_screeninfo XGIfb_fix = {
        .xpanstep       = 1,
        .ypanstep       = 1,
 };
-static u32 pseudo_palette[17];
-
 
 /* display status */
 static int XGIfb_crt1off;
diff --git a/drivers/staging/xgifb/XGI_main_26.c 
b/drivers/staging/xgifb/XGI_main_26.c
index e89299c..45427d7 100644
--- a/drivers/staging/xgifb/XGI_main_26.c
+++ b/drivers/staging/xgifb/XGI_main_26.c
@@ -2390,7 +2390,7 @@ static int __devinit xgifb_probe(struct pci_dev *pdev,
        fb_info->screen_base = xgifb_info->video_vbase;
        fb_info->fbops = &XGIfb_ops;
        XGIfb_get_fix(&fb_info->fix, -1, fb_info);
-       fb_info->pseudo_palette = pseudo_palette;
+       fb_info->pseudo_palette = xgifb_info->pseudo_palette;
 
        fb_alloc_cmap(&fb_info->cmap, 256 , 0);
 
diff --git a/drivers/staging/xgifb/XGIfb.h b/drivers/staging/xgifb/XGIfb.h
index 46b696f..efcfac8 100644
--- a/drivers/staging/xgifb/XGIfb.h
+++ b/drivers/staging/xgifb/XGIfb.h
@@ -61,6 +61,8 @@ struct xgifb_video_info {
        int mode_idx;
        int rate_idx;
 
+       u32 pseudo_palette[17];
+
        int           chip_id;
        unsigned int  video_size;
        unsigned long video_base;
-- 
1.7.2.5

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to