X-Git-Url: http://bbs.cooldavid.org/git/?a=blobdiff_plain;ds=sidebyside;f=jme.c;h=10f1f040fe24418abe3a168792b62672f38df87f;hb=refs%2Fheads%2Fbackport;hp=f5958194ce417728c7b5258c433703654ffe9618;hpb=e021d63c8df1bbbb70e6d729a4148ff7a6b9138c;p=jme.git diff --git a/jme.c b/jme.c index f595819..10f1f04 100644 --- a/jme.c +++ b/jme.c @@ -2069,7 +2069,12 @@ jme_fill_tx_map(struct pci_dev *pdev, struct page *page, u32 page_offset, u32 len, - bool hidma) +#ifdef __NO_BOOL__ + u8 hidma +#else + bool hidma +#endif + ) { dma_addr_t dmaaddr; @@ -2103,7 +2108,11 @@ jme_map_tx_skb(struct jme_adapter *jme, struct sk_buff *skb, int idx) struct jme_ring *txring = &(jme->txring[0]); struct txdesc *txdesc = txring->desc, *ctxdesc; struct jme_buffer_info *txbi = txring->bufinf, *ctxbi; +#ifdef __NO_BOOL__ + u8 hidma = !!(jme->dev->features & NETIF_F_HIGHDMA); +#else bool hidma = jme->dev->features & NETIF_F_HIGHDMA; +#endif int i, nr_frags = skb_shinfo(skb)->nr_frags; int mask = jme->tx_ring_mask; const struct skb_frag_struct *frag; @@ -2461,15 +2470,6 @@ jme_change_mtu(struct net_device *netdev, int new_mtu) ((new_mtu) < IPV6_MIN_MTU)) return -EINVAL; - if (new_mtu > 4000) { - jme->reg_rxcs &= ~RXCS_FIFOTHNP; - jme->reg_rxcs |= RXCS_FIFOTHNP_64QW; - jme_restart_rx_engine(jme); - } else { - jme->reg_rxcs &= ~RXCS_FIFOTHNP; - jme->reg_rxcs |= RXCS_FIFOTHNP_128QW; - jme_restart_rx_engine(jme); - } #ifndef __USE_NDO_FIX_FEATURES__ if (new_mtu > 1900) { @@ -2487,6 +2487,8 @@ jme_change_mtu(struct net_device *netdev, int new_mtu) #ifdef __USE_NDO_FIX_FEATURES__ netdev_update_features(netdev); #endif + + jme_restart_rx_engine(jme); jme_reset_link(jme); return 0; @@ -3301,7 +3303,6 @@ jme_init_one(struct pci_dev *pdev, */ netdev = alloc_etherdev(sizeof(*jme)); if (!netdev) { - pr_err("Cannot allocate netdev structure\n"); rc = -ENOMEM; goto err_out_release_regions; }