]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wan/sbni.c
[BNX2]: Fix RX packet rot.
[linux-2.6-omap-h63xx.git] / drivers / net / wan / sbni.c
index 35eded7ffb2dda831ddeea27e78c58dc37708e6d..2e8b5c2de887c13c42f04df22175d312fa084568 100644 (file)
@@ -54,6 +54,7 @@
 #include <linux/init.h>
 #include <linux/delay.h>
 
+#include <net/net_namespace.h>
 #include <net/arp.h>
 
 #include <asm/io.h>
@@ -215,8 +216,6 @@ static void __init sbni_devsetup(struct net_device *dev)
        dev->get_stats          = &sbni_get_stats;
        dev->set_multicast_list = &set_multicast_list;
        dev->do_ioctl           = &sbni_ioctl;
-
-       SET_MODULE_OWNER( dev );
 }
 
 int __init sbni_probe(int unit)
@@ -503,8 +502,8 @@ sbni_start_xmit( struct sk_buff  *skb,  struct net_device  *dev )
 static irqreturn_t
 sbni_interrupt( int  irq,  void  *dev_id )
 {
-       struct net_device         *dev = (struct net_device *) dev_id;
-       struct net_local  *nl  = (struct net_local *) dev->priv;
+       struct net_device         *dev = dev_id;
+       struct net_local  *nl  = dev->priv;
        int     repeat;
 
        spin_lock( &nl->lock );
@@ -595,8 +594,8 @@ recv_frame( struct net_device  *dev )
 
        u32  crc = CRC32_INITIAL;
 
-       unsigned  framelen, frameno, ack;
-       unsigned  is_first, frame_ok;
+       unsigned  framelen = 0, frameno, ack;
+       unsigned  is_first, frame_ok = 0;
 
        if( check_fhdr( ioaddr, &framelen, &frameno, &ack, &is_first, &crc ) ) {
                frame_ok = framelen > 4
@@ -604,8 +603,7 @@ recv_frame( struct net_device  *dev )
                        :  skip_tail( ioaddr, framelen, crc );
                if( frame_ok )
                        interpret_ack( dev, ack );
-       } else
-               frame_ok = 0;
+       }
 
        outb( inb( ioaddr + CSR0 ) ^ CT_ZER, ioaddr + CSR0 );
        if( frame_ok ) {
@@ -1362,7 +1360,7 @@ sbni_ioctl( struct net_device  *dev,  struct ifreq  *ifr,  int  cmd )
 
                if (copy_from_user( slave_name, ifr->ifr_data, sizeof slave_name ))
                        return -EFAULT;
-               slave_dev = dev_get_by_name( slave_name );
+               slave_dev = dev_get_by_name(&init_net, slave_name );
                if( !slave_dev  ||  !(slave_dev->flags & IFF_UP) ) {
                        printk( KERN_ERR "%s: trying to enslave non-active "
                                "device %s\n", dev->name, slave_name );