From: Michael Chan Date: Thu, 14 Dec 2006 23:56:50 +0000 (-0800) Subject: [BNX2]: Fix bug in bnx2_nvram_write(). X-Git-Tag: v2.6.20-rc2~100 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a13add1e1b802a29187a9af98a6ca26539dc33d;p=linux-2.6 [BNX2]: Fix bug in bnx2_nvram_write(). Length was not calculated correctly if the NVRAM offset is on a non- aligned offset. Signed-off-by: Michael Chan Signed-off-by: David S. Miller --- diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index f296c37f29..4fa7cefaa2 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@ -3096,7 +3096,7 @@ bnx2_nvram_write(struct bnx2 *bp, u32 offset, u8 *data_buf, if ((align_start = (offset32 & 3))) { offset32 &= ~3; - len32 += align_start; + len32 += (4 - align_start); if ((rc = bnx2_nvram_read(bp, offset32, start, 4))) return rc; } @@ -3114,7 +3114,7 @@ bnx2_nvram_write(struct bnx2 *bp, u32 offset, u8 *data_buf, if (align_start || align_end) { buf = kmalloc(len32, GFP_KERNEL); - if (buf == 0) + if (buf == NULL) return -ENOMEM; if (align_start) { memcpy(buf, start, 4);