Skip to content

Commit 046f4aa

Browse files
committed
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
2 parents a2a385d + 0c02dd9 commit 046f4aa

File tree

4 files changed

+11
-26
lines changed

4 files changed

+11
-26
lines changed

drivers/net/ethernet/intel/e1000/e1000_main.c

Lines changed: 5 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4066,7 +4066,11 @@ static bool e1000_clean_jumbo_rx_irq(struct e1000_adapter *adapter,
40664066
/* errors is only valid for DD + EOP descriptors */
40674067
if (unlikely((status & E1000_RXD_STAT_EOP) &&
40684068
(rx_desc->errors & E1000_RXD_ERR_FRAME_ERR_MASK))) {
4069-
u8 last_byte = *(skb->data + length - 1);
4069+
u8 *mapped;
4070+
u8 last_byte;
4071+
4072+
mapped = page_address(buffer_info->page);
4073+
last_byte = *(mapped + length - 1);
40704074
if (TBI_ACCEPT(hw, status, rx_desc->errors, length,
40714075
last_byte)) {
40724076
spin_lock_irqsave(&adapter->stats_lock,
@@ -4391,30 +4395,6 @@ e1000_alloc_jumbo_rx_buffers(struct e1000_adapter *adapter,
43914395
break;
43924396
}
43934397

4394-
/* Fix for errata 23, can't cross 64kB boundary */
4395-
if (!e1000_check_64k_bound(adapter, skb->data, bufsz)) {
4396-
struct sk_buff *oldskb = skb;
4397-
e_err(rx_err, "skb align check failed: %u bytes at "
4398-
"%p\n", bufsz, skb->data);
4399-
/* Try again, without freeing the previous */
4400-
skb = netdev_alloc_skb_ip_align(netdev, bufsz);
4401-
/* Failed allocation, critical failure */
4402-
if (!skb) {
4403-
dev_kfree_skb(oldskb);
4404-
adapter->alloc_rx_buff_failed++;
4405-
break;
4406-
}
4407-
4408-
if (!e1000_check_64k_bound(adapter, skb->data, bufsz)) {
4409-
/* give up */
4410-
dev_kfree_skb(skb);
4411-
dev_kfree_skb(oldskb);
4412-
break; /* while (cleaned_count--) */
4413-
}
4414-
4415-
/* Use new allocation */
4416-
dev_kfree_skb(oldskb);
4417-
}
44184398
buffer_info->skb = skb;
44194399
buffer_info->length = adapter->rx_buffer_len;
44204400
check_page:

drivers/net/ethernet/intel/e1000e/defines.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@
7676
/* Extended Device Control */
7777
#define E1000_CTRL_EXT_LPCD 0x00000004 /* LCD Power Cycle Done */
7878
#define E1000_CTRL_EXT_SDP3_DATA 0x00000080 /* Value of SW Definable Pin 3 */
79-
#define E1000_CTRL_EXT_FORCE_SMBUS 0x00000004 /* Force SMBus mode*/
79+
#define E1000_CTRL_EXT_FORCE_SMBUS 0x00000800 /* Force SMBus mode */
8080
#define E1000_CTRL_EXT_EE_RST 0x00002000 /* Reinitialize from EEPROM */
8181
#define E1000_CTRL_EXT_SPD_BYPS 0x00008000 /* Speed Select Bypass */
8282
#define E1000_CTRL_EXT_RO_DIS 0x00020000 /* Relaxed Ordering disable */

drivers/net/ethernet/intel/igb/e1000_defines.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,8 @@
301301
* transactions */
302302
#define E1000_DMACR_DMAC_LX_SHIFT 28
303303
#define E1000_DMACR_DMAC_EN 0x80000000 /* Enable DMA Coalescing */
304+
/* DMA Coalescing BMC-to-OS Watchdog Enable */
305+
#define E1000_DMACR_DC_BMC2OSW_EN 0x00008000
304306

305307
#define E1000_DMCTXTH_DMCTTHR_MASK 0x00000FFF /* DMA Coalescing Transmit
306308
* Threshold */

drivers/net/ethernet/intel/igb/igb_main.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7147,6 +7147,9 @@ static void igb_init_dmac(struct igb_adapter *adapter, u32 pba)
71477147

71487148
/* watchdog timer= +-1000 usec in 32usec intervals */
71497149
reg |= (1000 >> 5);
7150+
7151+
/* Disable BMC-to-OS Watchdog Enable */
7152+
reg &= ~E1000_DMACR_DC_BMC2OSW_EN;
71507153
wr32(E1000_DMACR, reg);
71517154

71527155
/*

0 commit comments

Comments
 (0)