]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/saa9730.c
[PATCH] libertas: use LBS_DEB_HOST for host-to-card communications
[linux-2.6-omap-h63xx.git] / drivers / net / saa9730.c
index 143958f1ef0a07a54d7814575ac3240c3c2db922..7dae4d404978e407c67856736825a369098fd56c 100644 (file)
@@ -688,12 +688,11 @@ static int lan_saa9730_rx(struct net_device *dev)
                        } else {
                                lp->stats.rx_bytes += len;
                                lp->stats.rx_packets++;
-                               skb->dev = dev;
                                skb_reserve(skb, 2);    /* 16 byte align */
                                skb_put(skb, len);      /* make room */
-                               eth_copy_and_sum(skb,
+                               skb_copy_to_linear_data(skb,
                                                 (unsigned char *) pData,
-                                                len, 0);
+                                                len);
                                skb->protocol = eth_type_trans(skb, dev);
                                netif_rx(skb);
                                dev->last_rx = jiffies;
@@ -941,15 +940,14 @@ static void lan_saa9730_set_multicast(struct net_device *dev)
                       CAM_CONTROL_GROUP_ACC | CAM_CONTROL_BROAD_ACC,
                       &lp->lan_saa9730_regs->CamCtl);
        } else {
-               if (dev->flags & IFF_ALLMULTI) {
+               if (dev->flags & IFF_ALLMULTI || dev->mc_count) {
                        /* accept all multicast packets */
-                       writel(CAM_CONTROL_COMP_EN | CAM_CONTROL_GROUP_ACC |
-                              CAM_CONTROL_BROAD_ACC,
-                              &lp->lan_saa9730_regs->CamCtl);
-               } else {
                        /*
                         * Will handle the multicast stuff later. -carstenl
                         */
+                       writel(CAM_CONTROL_COMP_EN | CAM_CONTROL_GROUP_ACC |
+                              CAM_CONTROL_BROAD_ACC,
+                              &lp->lan_saa9730_regs->CamCtl);
                }
        }