Skip to content

Commit

Permalink
Fix generic fb_ddc i2c edid probe msg
Browse files Browse the repository at this point in the history
Benh points out that the msgs[0].flags entry never got initialized, and
since it's an automatic stack allocation, it could have any random
value, which is bad.

Rewrite the initializer to explicitly initialize all fields of the small
i2c_msg structure array we generate.  Just to keep it all obvious, let's
handle msgs[1].buf in the same initializer while we're at it, instead of
initializing that one separately later.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Linus Torvalds committed Nov 17, 2006
1 parent 4f71c5d commit 4be7039
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/video/fb_ddc.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,26 +20,26 @@
static unsigned char *fb_do_probe_ddc_edid(struct i2c_adapter *adapter)
{
unsigned char start = 0x0;
unsigned char *buf = kmalloc(EDID_LENGTH, GFP_KERNEL);
struct i2c_msg msgs[] = {
{
.addr = DDC_ADDR,
.flags = 0,
.len = 1,
.buf = &start,
}, {
.addr = DDC_ADDR,
.flags = I2C_M_RD,
.len = EDID_LENGTH,
.buf = buf,
}
};
unsigned char *buf;

buf = kmalloc(EDID_LENGTH, GFP_KERNEL);
if (!buf) {
dev_warn(&adapter->dev, "unable to allocate memory for EDID "
"block.\n");
return NULL;
}
msgs[1].buf = buf;

if (i2c_transfer(adapter, msgs, 2) == 2)
return buf;
Expand Down

0 comments on commit 4be7039

Please sign in to comment.