Loading drivers/net/sfc/efx.c +1 −0 Original line number Diff line number Diff line Loading @@ -2284,6 +2284,7 @@ static int __devinit efx_pci_probe(struct pci_dev *pci_dev, fail2: efx_fini_struct(efx); fail1: WARN_ON(rc > 0); EFX_LOG(efx, "initialisation failed. rc=%d\n", rc); free_netdev(net_dev); return rc; Loading drivers/net/sfc/qt202x_phy.c +1 −1 Original line number Diff line number Diff line Loading @@ -320,7 +320,7 @@ static int qt202x_reset_phy(struct efx_nic *efx) falcon_board(efx)->type->init_phy(efx); return rc; return 0; fail: EFX_ERR(efx, "PHY reset timed out\n"); Loading drivers/net/via-velocity.c +20 −21 Original line number Diff line number Diff line Loading @@ -1879,13 +1879,12 @@ static void velocity_error(struct velocity_info *vptr, int status) /** * tx_srv - transmit interrupt service * @vptr; Velocity * @status: * * Scan the queues looking for transmitted packets that * we can complete and clean up. Update any statistics as * necessary/ */ static int velocity_tx_srv(struct velocity_info *vptr, u32 status) static int velocity_tx_srv(struct velocity_info *vptr) { struct tx_desc *td; int qnum; Loading Loading @@ -2092,14 +2091,12 @@ static int velocity_receive_frame(struct velocity_info *vptr, int idx) /** * velocity_rx_srv - service RX interrupt * @vptr: velocity * @status: adapter status (unused) * * Walk the receive ring of the velocity adapter and remove * any received packets from the receive queue. Hand the ring * slots back to the adapter for reuse. */ static int velocity_rx_srv(struct velocity_info *vptr, int status, int budget_left) static int velocity_rx_srv(struct velocity_info *vptr, int budget_left) { struct net_device_stats *stats = &vptr->dev->stats; int rd_curr = vptr->rx.curr; Loading Loading @@ -2153,32 +2150,24 @@ static int velocity_poll(struct napi_struct *napi, int budget) struct velocity_info *vptr = container_of(napi, struct velocity_info, napi); unsigned int rx_done; u32 isr_status; spin_lock(&vptr->lock); isr_status = mac_read_isr(vptr->mac_regs); /* Ack the interrupt */ mac_write_isr(vptr->mac_regs, isr_status); if (isr_status & (~(ISR_PRXI | ISR_PPRXI | ISR_PTXI | ISR_PPTXI))) velocity_error(vptr, isr_status); unsigned long flags; spin_lock_irqsave(&vptr->lock, flags); /* * Do rx and tx twice for performance (taken from the VIA * out-of-tree driver). */ rx_done = velocity_rx_srv(vptr, isr_status, budget / 2); velocity_tx_srv(vptr, isr_status); rx_done += velocity_rx_srv(vptr, isr_status, budget - rx_done); velocity_tx_srv(vptr, isr_status); spin_unlock(&vptr->lock); rx_done = velocity_rx_srv(vptr, budget / 2); velocity_tx_srv(vptr); rx_done += velocity_rx_srv(vptr, budget - rx_done); velocity_tx_srv(vptr); /* If budget not fully consumed, exit the polling mode */ if (rx_done < budget) { napi_complete(napi); mac_enable_int(vptr->mac_regs); } spin_unlock_irqrestore(&vptr->lock, flags); return rx_done; } Loading Loading @@ -2208,10 +2197,17 @@ static irqreturn_t velocity_intr(int irq, void *dev_instance) return IRQ_NONE; } /* Ack the interrupt */ mac_write_isr(vptr->mac_regs, isr_status); if (likely(napi_schedule_prep(&vptr->napi))) { mac_disable_int(vptr->mac_regs); __napi_schedule(&vptr->napi); } if (isr_status & (~(ISR_PRXI | ISR_PPRXI | ISR_PTXI | ISR_PPTXI))) velocity_error(vptr, isr_status); spin_unlock(&vptr->lock); return IRQ_HANDLED; Loading Loading @@ -3100,7 +3096,7 @@ static int velocity_resume(struct pci_dev *pdev) velocity_init_registers(vptr, VELOCITY_INIT_WOL); mac_disable_int(vptr->mac_regs); velocity_tx_srv(vptr, 0); velocity_tx_srv(vptr); for (i = 0; i < vptr->tx.numq; i++) { if (vptr->tx.used[i]) Loading Loading @@ -3344,6 +3340,7 @@ static int velocity_set_coalesce(struct net_device *dev, { struct velocity_info *vptr = netdev_priv(dev); int max_us = 0x3f * 64; unsigned long flags; /* 6 bits of */ if (ecmd->tx_coalesce_usecs > max_us) Loading @@ -3365,6 +3362,7 @@ static int velocity_set_coalesce(struct net_device *dev, ecmd->tx_coalesce_usecs); /* Setup the interrupt suppression and queue timers */ spin_lock_irqsave(&vptr->lock, flags); mac_disable_int(vptr->mac_regs); setup_adaptive_interrupts(vptr); setup_queue_timers(vptr); Loading @@ -3372,6 +3370,7 @@ static int velocity_set_coalesce(struct net_device *dev, mac_write_int_mask(vptr->int_mask, vptr->mac_regs); mac_clear_isr(vptr->mac_regs); mac_enable_int(vptr->mac_regs); spin_unlock_irqrestore(&vptr->lock, flags); return 0; } Loading drivers/net/wireless/ath/ath9k/xmit.c +2 −2 Original line number Diff line number Diff line Loading @@ -1610,7 +1610,7 @@ static int ath_tx_setup_buffer(struct ieee80211_hw *hw, struct ath_buf *bf, bf->bf_frmlen -= padsize; } if (conf_is_ht(&hw->conf) && !is_pae(skb)) if (conf_is_ht(&hw->conf)) bf->bf_state.bf_type |= BUF_HT; bf->bf_flags = setup_tx_flags(sc, skb, txctl->txq); Loading Loading @@ -1696,7 +1696,7 @@ static void ath_tx_start_dma(struct ath_softc *sc, struct ath_buf *bf, goto tx_done; } if (tx_info->flags & IEEE80211_TX_CTL_AMPDU) { if ((tx_info->flags & IEEE80211_TX_CTL_AMPDU) && !is_pae(skb)) { /* * Try aggregation if it's a unicast data frame * and the destination is HT capable. Loading drivers/net/wireless/iwlwifi/iwl-rx.c +4 −1 Original line number Diff line number Diff line Loading @@ -1012,7 +1012,10 @@ static void iwl_pass_packet_to_mac80211(struct iwl_priv *priv, if (ieee80211_is_mgmt(fc) || ieee80211_has_protected(fc) || ieee80211_has_morefrags(fc) || le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG) le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG || (ieee80211_is_data_qos(fc) && *ieee80211_get_qos_ctl(hdr) & IEEE80211_QOS_CONTROL_A_MSDU_PRESENT)) ret = skb_linearize(skb); else ret = __pskb_pull_tail(skb, min_t(u16, IWL_LINK_HDR_MAX, len)) ? Loading Loading
drivers/net/sfc/efx.c +1 −0 Original line number Diff line number Diff line Loading @@ -2284,6 +2284,7 @@ static int __devinit efx_pci_probe(struct pci_dev *pci_dev, fail2: efx_fini_struct(efx); fail1: WARN_ON(rc > 0); EFX_LOG(efx, "initialisation failed. rc=%d\n", rc); free_netdev(net_dev); return rc; Loading
drivers/net/sfc/qt202x_phy.c +1 −1 Original line number Diff line number Diff line Loading @@ -320,7 +320,7 @@ static int qt202x_reset_phy(struct efx_nic *efx) falcon_board(efx)->type->init_phy(efx); return rc; return 0; fail: EFX_ERR(efx, "PHY reset timed out\n"); Loading
drivers/net/via-velocity.c +20 −21 Original line number Diff line number Diff line Loading @@ -1879,13 +1879,12 @@ static void velocity_error(struct velocity_info *vptr, int status) /** * tx_srv - transmit interrupt service * @vptr; Velocity * @status: * * Scan the queues looking for transmitted packets that * we can complete and clean up. Update any statistics as * necessary/ */ static int velocity_tx_srv(struct velocity_info *vptr, u32 status) static int velocity_tx_srv(struct velocity_info *vptr) { struct tx_desc *td; int qnum; Loading Loading @@ -2092,14 +2091,12 @@ static int velocity_receive_frame(struct velocity_info *vptr, int idx) /** * velocity_rx_srv - service RX interrupt * @vptr: velocity * @status: adapter status (unused) * * Walk the receive ring of the velocity adapter and remove * any received packets from the receive queue. Hand the ring * slots back to the adapter for reuse. */ static int velocity_rx_srv(struct velocity_info *vptr, int status, int budget_left) static int velocity_rx_srv(struct velocity_info *vptr, int budget_left) { struct net_device_stats *stats = &vptr->dev->stats; int rd_curr = vptr->rx.curr; Loading Loading @@ -2153,32 +2150,24 @@ static int velocity_poll(struct napi_struct *napi, int budget) struct velocity_info *vptr = container_of(napi, struct velocity_info, napi); unsigned int rx_done; u32 isr_status; spin_lock(&vptr->lock); isr_status = mac_read_isr(vptr->mac_regs); /* Ack the interrupt */ mac_write_isr(vptr->mac_regs, isr_status); if (isr_status & (~(ISR_PRXI | ISR_PPRXI | ISR_PTXI | ISR_PPTXI))) velocity_error(vptr, isr_status); unsigned long flags; spin_lock_irqsave(&vptr->lock, flags); /* * Do rx and tx twice for performance (taken from the VIA * out-of-tree driver). */ rx_done = velocity_rx_srv(vptr, isr_status, budget / 2); velocity_tx_srv(vptr, isr_status); rx_done += velocity_rx_srv(vptr, isr_status, budget - rx_done); velocity_tx_srv(vptr, isr_status); spin_unlock(&vptr->lock); rx_done = velocity_rx_srv(vptr, budget / 2); velocity_tx_srv(vptr); rx_done += velocity_rx_srv(vptr, budget - rx_done); velocity_tx_srv(vptr); /* If budget not fully consumed, exit the polling mode */ if (rx_done < budget) { napi_complete(napi); mac_enable_int(vptr->mac_regs); } spin_unlock_irqrestore(&vptr->lock, flags); return rx_done; } Loading Loading @@ -2208,10 +2197,17 @@ static irqreturn_t velocity_intr(int irq, void *dev_instance) return IRQ_NONE; } /* Ack the interrupt */ mac_write_isr(vptr->mac_regs, isr_status); if (likely(napi_schedule_prep(&vptr->napi))) { mac_disable_int(vptr->mac_regs); __napi_schedule(&vptr->napi); } if (isr_status & (~(ISR_PRXI | ISR_PPRXI | ISR_PTXI | ISR_PPTXI))) velocity_error(vptr, isr_status); spin_unlock(&vptr->lock); return IRQ_HANDLED; Loading Loading @@ -3100,7 +3096,7 @@ static int velocity_resume(struct pci_dev *pdev) velocity_init_registers(vptr, VELOCITY_INIT_WOL); mac_disable_int(vptr->mac_regs); velocity_tx_srv(vptr, 0); velocity_tx_srv(vptr); for (i = 0; i < vptr->tx.numq; i++) { if (vptr->tx.used[i]) Loading Loading @@ -3344,6 +3340,7 @@ static int velocity_set_coalesce(struct net_device *dev, { struct velocity_info *vptr = netdev_priv(dev); int max_us = 0x3f * 64; unsigned long flags; /* 6 bits of */ if (ecmd->tx_coalesce_usecs > max_us) Loading @@ -3365,6 +3362,7 @@ static int velocity_set_coalesce(struct net_device *dev, ecmd->tx_coalesce_usecs); /* Setup the interrupt suppression and queue timers */ spin_lock_irqsave(&vptr->lock, flags); mac_disable_int(vptr->mac_regs); setup_adaptive_interrupts(vptr); setup_queue_timers(vptr); Loading @@ -3372,6 +3370,7 @@ static int velocity_set_coalesce(struct net_device *dev, mac_write_int_mask(vptr->int_mask, vptr->mac_regs); mac_clear_isr(vptr->mac_regs); mac_enable_int(vptr->mac_regs); spin_unlock_irqrestore(&vptr->lock, flags); return 0; } Loading
drivers/net/wireless/ath/ath9k/xmit.c +2 −2 Original line number Diff line number Diff line Loading @@ -1610,7 +1610,7 @@ static int ath_tx_setup_buffer(struct ieee80211_hw *hw, struct ath_buf *bf, bf->bf_frmlen -= padsize; } if (conf_is_ht(&hw->conf) && !is_pae(skb)) if (conf_is_ht(&hw->conf)) bf->bf_state.bf_type |= BUF_HT; bf->bf_flags = setup_tx_flags(sc, skb, txctl->txq); Loading Loading @@ -1696,7 +1696,7 @@ static void ath_tx_start_dma(struct ath_softc *sc, struct ath_buf *bf, goto tx_done; } if (tx_info->flags & IEEE80211_TX_CTL_AMPDU) { if ((tx_info->flags & IEEE80211_TX_CTL_AMPDU) && !is_pae(skb)) { /* * Try aggregation if it's a unicast data frame * and the destination is HT capable. Loading
drivers/net/wireless/iwlwifi/iwl-rx.c +4 −1 Original line number Diff line number Diff line Loading @@ -1012,7 +1012,10 @@ static void iwl_pass_packet_to_mac80211(struct iwl_priv *priv, if (ieee80211_is_mgmt(fc) || ieee80211_has_protected(fc) || ieee80211_has_morefrags(fc) || le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG) le16_to_cpu(hdr->seq_ctrl) & IEEE80211_SCTL_FRAG || (ieee80211_is_data_qos(fc) && *ieee80211_get_qos_ctl(hdr) & IEEE80211_QOS_CONTROL_A_MSDU_PRESENT)) ret = skb_linearize(skb); else ret = __pskb_pull_tail(skb, min_t(u16, IWL_LINK_HDR_MAX, len)) ? Loading