mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-13 16:40:22 +00:00
drm: Fixes linux-next & linux-2.6 checkstack warnings:
drivers/gpu/drm/nouveau/nv40_graph.c: In function `nv40_graph_init': drivers/gpu/drm/nouveau/nv40_graph.c:400: warning: the frame size of 1184 bytes is larger than 1024 bytes drivers/gpu/drm/radeon/radeon_atombios.c: In function `radeon_get_atom_connector_info_from_supported_devices_table': drivers/gpu/drm/radeon/radeon_atombios.c:857: warning: the frame size of 1872 bytes is larger than 1024 bytes Signed-off-by: Prarit Bhargava <prarit@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
579766020d
commit
f49d273df9
@ -253,7 +253,11 @@ nv40_graph_init(struct drm_device *dev)
|
|||||||
|
|
||||||
if (!dev_priv->engine.graph.ctxprog) {
|
if (!dev_priv->engine.graph.ctxprog) {
|
||||||
struct nouveau_grctx ctx = {};
|
struct nouveau_grctx ctx = {};
|
||||||
uint32_t cp[256];
|
uint32_t *cp;
|
||||||
|
|
||||||
|
cp = kmalloc(sizeof(*cp) * 256, GFP_KERNEL);
|
||||||
|
if (!cp)
|
||||||
|
return -ENOMEM;
|
||||||
|
|
||||||
ctx.dev = dev;
|
ctx.dev = dev;
|
||||||
ctx.mode = NOUVEAU_GRCTX_PROG;
|
ctx.mode = NOUVEAU_GRCTX_PROG;
|
||||||
@ -265,6 +269,8 @@ nv40_graph_init(struct drm_device *dev)
|
|||||||
nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
|
nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_INDEX, 0);
|
||||||
for (i = 0; i < ctx.ctxprog_len; i++)
|
for (i = 0; i < ctx.ctxprog_len; i++)
|
||||||
nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_DATA, cp[i]);
|
nv_wr32(dev, NV40_PGRAPH_CTXCTL_UCODE_DATA, cp[i]);
|
||||||
|
|
||||||
|
kfree(cp);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* No context present currently */
|
/* No context present currently */
|
||||||
|
@ -680,11 +680,19 @@ bool radeon_get_atom_connector_info_from_supported_devices_table(struct
|
|||||||
uint8_t dac;
|
uint8_t dac;
|
||||||
union atom_supported_devices *supported_devices;
|
union atom_supported_devices *supported_devices;
|
||||||
int i, j, max_device;
|
int i, j, max_device;
|
||||||
struct bios_connector bios_connectors[ATOM_MAX_SUPPORTED_DEVICE];
|
struct bios_connector *bios_connectors;
|
||||||
|
size_t bc_size = sizeof(*bios_connectors) * ATOM_MAX_SUPPORTED_DEVICE;
|
||||||
|
|
||||||
if (!atom_parse_data_header(ctx, index, &size, &frev, &crev, &data_offset))
|
bios_connectors = kzalloc(bc_size, GFP_KERNEL);
|
||||||
|
if (!bios_connectors)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
if (!atom_parse_data_header(ctx, index, &size, &frev, &crev,
|
||||||
|
&data_offset)) {
|
||||||
|
kfree(bios_connectors);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
supported_devices =
|
supported_devices =
|
||||||
(union atom_supported_devices *)(ctx->bios + data_offset);
|
(union atom_supported_devices *)(ctx->bios + data_offset);
|
||||||
|
|
||||||
@ -851,6 +859,7 @@ bool radeon_get_atom_connector_info_from_supported_devices_table(struct
|
|||||||
|
|
||||||
radeon_link_encoder_connector(dev);
|
radeon_link_encoder_connector(dev);
|
||||||
|
|
||||||
|
kfree(bios_connectors);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user