Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
[pandora-kernel.git] / drivers / net / atlx / atl1.c
index d9951bb..cd5789f 100644 (file)
@@ -2075,9 +2075,6 @@ static void atl1_intr_tx(struct atl1_adapter *adapter)
        cmb_tpd_next_to_clean = le16_to_cpu(adapter->cmb.cmb->tpd_cons_idx);
 
        while (cmb_tpd_next_to_clean != sw_tpd_next_to_clean) {
-               struct tx_packet_desc *tpd;
-
-               tpd = ATL1_TPD_DESC(tpd_ring, sw_tpd_next_to_clean);
                buffer_info = &tpd_ring->buffer_info[sw_tpd_next_to_clean];
                if (buffer_info->dma) {
                        pci_unmap_page(adapter->pdev, buffer_info->dma,
@@ -2573,7 +2570,7 @@ static s32 atl1_up(struct atl1_adapter *adapter)
 {
        struct net_device *netdev = adapter->netdev;
        int err;
-       int irq_flags = IRQF_SAMPLE_RANDOM;
+       int irq_flags = 0;
 
        /* hardware has been reset, we need to reload some things */
        atlx_set_multi(netdev);
@@ -2987,6 +2984,11 @@ static int __devinit atl1_probe(struct pci_dev *pdev,
        netdev->features |= NETIF_F_SG;
        netdev->features |= (NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX);
 
+       netdev->hw_features = NETIF_F_HW_CSUM | NETIF_F_SG | NETIF_F_TSO;
+
+       /* is this valid? see atl1_setup_mac_ctrl() */
+       netdev->features |= NETIF_F_RXCSUM;
+
        /*
         * patch for some L1 of old version,
         * the final version of L1 may not need these
@@ -3230,13 +3232,13 @@ static int atl1_get_settings(struct net_device *netdev,
        if (netif_carrier_ok(adapter->netdev)) {
                u16 link_speed, link_duplex;
                atl1_get_speed_and_duplex(hw, &link_speed, &link_duplex);
-               ecmd->speed = link_speed;
+               ethtool_cmd_speed_set(ecmd, link_speed);
                if (link_duplex == FULL_DUPLEX)
                        ecmd->duplex = DUPLEX_FULL;
                else
                        ecmd->duplex = DUPLEX_HALF;
        } else {
-               ecmd->speed = -1;
+               ethtool_cmd_speed_set(ecmd, -1);
                ecmd->duplex = -1;
        }
        if (hw->media_type == MEDIA_TYPE_AUTO_SENSOR ||
@@ -3267,7 +3269,8 @@ static int atl1_set_settings(struct net_device *netdev,
        if (ecmd->autoneg == AUTONEG_ENABLE)
                hw->media_type = MEDIA_TYPE_AUTO_SENSOR;
        else {
-               if (ecmd->speed == SPEED_1000) {
+               u32 speed = ethtool_cmd_speed(ecmd);
+               if (speed == SPEED_1000) {
                        if (ecmd->duplex != DUPLEX_FULL) {
                                if (netif_msg_link(adapter))
                                        dev_warn(&adapter->pdev->dev,
@@ -3276,7 +3279,7 @@ static int atl1_set_settings(struct net_device *netdev,
                                goto exit_sset;
                        }
                        hw->media_type = MEDIA_TYPE_1000M_FULL;
-               } else if (ecmd->speed == SPEED_100) {
+               } else if (speed == SPEED_100) {
                        if (ecmd->duplex == DUPLEX_FULL)
                                hw->media_type = MEDIA_TYPE_100M_FULL;
                        else
@@ -3596,12 +3599,6 @@ static int atl1_set_pauseparam(struct net_device *netdev,
        return 0;
 }
 
-/* FIXME: is this right? -- CHS */
-static u32 atl1_get_rx_csum(struct net_device *netdev)
-{
-       return 1;
-}
-
 static void atl1_get_strings(struct net_device *netdev, u32 stringset,
        u8 *data)
 {
@@ -3669,13 +3666,9 @@ static const struct ethtool_ops atl1_ethtool_ops = {
        .set_ringparam          = atl1_set_ringparam,
        .get_pauseparam         = atl1_get_pauseparam,
        .set_pauseparam         = atl1_set_pauseparam,
-       .get_rx_csum            = atl1_get_rx_csum,
-       .set_tx_csum            = ethtool_op_set_tx_hw_csum,
        .get_link               = ethtool_op_get_link,
-       .set_sg                 = ethtool_op_set_sg,
        .get_strings            = atl1_get_strings,
        .nway_reset             = atl1_nway_reset,
        .get_ethtool_stats      = atl1_get_ethtool_stats,
        .get_sset_count         = atl1_get_sset_count,
-       .set_tso                = ethtool_op_set_tso,
 };