Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next
This commit is contained in:
commit
046f4aaf6d
|
@ -4066,7 +4066,11 @@ static bool e1000_clean_jumbo_rx_irq(struct e1000_adapter *adapter,
|
|||
/* errors is only valid for DD + EOP descriptors */
|
||||
if (unlikely((status & E1000_RXD_STAT_EOP) &&
|
||||
(rx_desc->errors & E1000_RXD_ERR_FRAME_ERR_MASK))) {
|
||||
u8 last_byte = *(skb->data + length - 1);
|
||||
u8 *mapped;
|
||||
u8 last_byte;
|
||||
|
||||
mapped = page_address(buffer_info->page);
|
||||
last_byte = *(mapped + length - 1);
|
||||
if (TBI_ACCEPT(hw, status, rx_desc->errors, length,
|
||||
last_byte)) {
|
||||
spin_lock_irqsave(&adapter->stats_lock,
|
||||
|
@ -4391,30 +4395,6 @@ e1000_alloc_jumbo_rx_buffers(struct e1000_adapter *adapter,
|
|||
break;
|
||||
}
|
||||
|
||||
/* Fix for errata 23, can't cross 64kB boundary */
|
||||
if (!e1000_check_64k_bound(adapter, skb->data, bufsz)) {
|
||||
struct sk_buff *oldskb = skb;
|
||||
e_err(rx_err, "skb align check failed: %u bytes at "
|
||||
"%p\n", bufsz, skb->data);
|
||||
/* Try again, without freeing the previous */
|
||||
skb = netdev_alloc_skb_ip_align(netdev, bufsz);
|
||||
/* Failed allocation, critical failure */
|
||||
if (!skb) {
|
||||
dev_kfree_skb(oldskb);
|
||||
adapter->alloc_rx_buff_failed++;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!e1000_check_64k_bound(adapter, skb->data, bufsz)) {
|
||||
/* give up */
|
||||
dev_kfree_skb(skb);
|
||||
dev_kfree_skb(oldskb);
|
||||
break; /* while (cleaned_count--) */
|
||||
}
|
||||
|
||||
/* Use new allocation */
|
||||
dev_kfree_skb(oldskb);
|
||||
}
|
||||
buffer_info->skb = skb;
|
||||
buffer_info->length = adapter->rx_buffer_len;
|
||||
check_page:
|
||||
|
|
|
@ -76,7 +76,7 @@
|
|||
/* Extended Device Control */
|
||||
#define E1000_CTRL_EXT_LPCD 0x00000004 /* LCD Power Cycle Done */
|
||||
#define E1000_CTRL_EXT_SDP3_DATA 0x00000080 /* Value of SW Definable Pin 3 */
|
||||
#define E1000_CTRL_EXT_FORCE_SMBUS 0x00000004 /* Force SMBus mode*/
|
||||
#define E1000_CTRL_EXT_FORCE_SMBUS 0x00000800 /* Force SMBus mode */
|
||||
#define E1000_CTRL_EXT_EE_RST 0x00002000 /* Reinitialize from EEPROM */
|
||||
#define E1000_CTRL_EXT_SPD_BYPS 0x00008000 /* Speed Select Bypass */
|
||||
#define E1000_CTRL_EXT_RO_DIS 0x00020000 /* Relaxed Ordering disable */
|
||||
|
|
|
@ -301,6 +301,8 @@
|
|||
* transactions */
|
||||
#define E1000_DMACR_DMAC_LX_SHIFT 28
|
||||
#define E1000_DMACR_DMAC_EN 0x80000000 /* Enable DMA Coalescing */
|
||||
/* DMA Coalescing BMC-to-OS Watchdog Enable */
|
||||
#define E1000_DMACR_DC_BMC2OSW_EN 0x00008000
|
||||
|
||||
#define E1000_DMCTXTH_DMCTTHR_MASK 0x00000FFF /* DMA Coalescing Transmit
|
||||
* Threshold */
|
||||
|
|
|
@ -7147,6 +7147,9 @@ static void igb_init_dmac(struct igb_adapter *adapter, u32 pba)
|
|||
|
||||
/* watchdog timer= +-1000 usec in 32usec intervals */
|
||||
reg |= (1000 >> 5);
|
||||
|
||||
/* Disable BMC-to-OS Watchdog Enable */
|
||||
reg &= ~E1000_DMACR_DC_BMC2OSW_EN;
|
||||
wr32(E1000_DMACR, reg);
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue