Просмотр исходного кода

[TG3]: Fix bug in nvram write

Fix bug in nvram write function. If the starting nvram address offset
happens to be the last dword of the page, the NVRAM_CMD_LAST bit will
not get set in the existing code. This patch fixes the bug by changing
the "else if" to "if" so that the last dword condition always gets
checked.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Michael Chan 19 лет назад
Родитель
Сommit
f6d9a2565b
1 измененных файлов с 1 добавлено и 1 удалено
  1. 1 1
      drivers/net/tg3.c

+ 1 - 1
drivers/net/tg3.c

@@ -9404,7 +9404,7 @@ static int tg3_nvram_write_block_buffered(struct tg3 *tp, u32 offset, u32 len,
 
 
 	        if ((page_off == 0) || (i == 0))
 	        if ((page_off == 0) || (i == 0))
 			nvram_cmd |= NVRAM_CMD_FIRST;
 			nvram_cmd |= NVRAM_CMD_FIRST;
-		else if (page_off == (tp->nvram_pagesize - 4))
+		if (page_off == (tp->nvram_pagesize - 4))
 			nvram_cmd |= NVRAM_CMD_LAST;
 			nvram_cmd |= NVRAM_CMD_LAST;
 
 
 		if (i == (len - 4))
 		if (i == (len - 4))