video: fbdev: savagefb: make a variable local
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 8 Dec 2021 07:27:36 +0000 (10:27 +0300)
committerHelge Deller <deller@gmx.de>
Sun, 30 Jan 2022 18:37:03 +0000 (19:37 +0100)
The "edid" struct member is only used during probe() and it's freed
right away.  There is no point in storing a freed pointer for the
whole life of the driver.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/savage/savagefb.h
drivers/video/fbdev/savage/savagefb_driver.c

index 3314d5b..b6b8cc2 100644 (file)
@@ -195,7 +195,6 @@ struct savagefb_par {
        struct savage_reg initial;
        struct vgastate vgastate;
        struct mutex open_lock;
-       unsigned char   *edid;
        u32 pseudo_palette[16];
        u32 open_count;
        int paletteEnabled;
index 0ac750c..8114c92 100644 (file)
@@ -2170,6 +2170,7 @@ static int savagefb_probe(struct pci_dev *dev, const struct pci_device_id *id)
        struct fb_info *info;
        struct savagefb_par *par;
        u_int h_sync, v_sync;
+       unsigned char __maybe_unused *edid;
        int err, lpitch;
        int video_len;
 
@@ -2212,9 +2213,9 @@ static int savagefb_probe(struct pci_dev *dev, const struct pci_device_id *id)
        INIT_LIST_HEAD(&info->modelist);
 #if defined(CONFIG_FB_SAVAGE_I2C)
        savagefb_create_i2c_busses(info);
-       savagefb_probe_i2c_connector(info, &par->edid);
-       fb_edid_to_monspecs(par->edid, &info->monspecs);
-       kfree(par->edid);
+       savagefb_probe_i2c_connector(info, &edid);
+       fb_edid_to_monspecs(edid, &info->monspecs);
+       kfree(edid);
        fb_videomode_to_modelist(info->monspecs.modedb,
                                 info->monspecs.modedb_len,
                                 &info->modelist);