From 3359fced77f6b4ba1c7de9deace1d7dfa7217bbc Mon Sep 17 00:00:00 2001 From: Vladislav Zolotarov Date: Wed, 17 Feb 2010 13:35:01 -0800 Subject: bnx2x: Use firmware 5.2.13 Switch to the new firmware version (5.2.13). Signed-off-by: Vladislav Zolotarov Signed-off-by: Eilon Greenstein Signed-off-by: David S. Miller --- drivers/net/bnx2x_init_ops.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'drivers/net/bnx2x_init_ops.h') diff --git a/drivers/net/bnx2x_init_ops.h b/drivers/net/bnx2x_init_ops.h index 38b970a14fd7..2b1363a6fe78 100644 --- a/drivers/net/bnx2x_init_ops.h +++ b/drivers/net/bnx2x_init_ops.h @@ -2,7 +2,7 @@ * Static functions needed during the initialization. * This file is "included" in bnx2x_main.c. * - * Copyright (c) 2007-2009 Broadcom Corporation + * Copyright (c) 2007-2010 Broadcom Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -138,11 +138,16 @@ static void bnx2x_write_big_buf_wb(struct bnx2x *bp, u32 addr, u32 len) static void bnx2x_init_wr_wb(struct bnx2x *bp, u32 addr, const u32 *data, u32 len) { + const u32 *old_data = data; + data = (const u32 *)bnx2x_sel_blob(bp, addr, (const u8 *)data); - if (bp->dmae_ready) - VIRT_WR_DMAE_LEN(bp, data, addr, len); - else + if (bp->dmae_ready) { + if (old_data != data) + VIRT_WR_DMAE_LEN(bp, data, addr, len, 1); + else + VIRT_WR_DMAE_LEN(bp, data, addr, len, 0); + } else bnx2x_init_ind_wr(bp, addr, data, len); } -- cgit v1.2.1