diff -cu driver/dvb.c driver.new/dvb.c --- driver/dvb.c Thu Mar 29 17:48:39 2001 +++ driver.new/dvb.c Thu May 17 17:30:24 2001 @@ -5618,7 +5618,7 @@ for (i=3; i<18; i++) buf[i+4-2]=(dvbdmxfilter->filter.filter_value[i]<<8)| dvbdmxfilter->filter.filter_mask[i]; - mode=4; + mode=0x1c; } else if ((dvbdmxfeed->ts_type & TS_PACKET) && !(dvbdmxfeed->ts_type & TS_PAYLOAD_ONLY)) diff -cu driver/dvb_net.c driver.new/dvb_net.c --- driver/dvb_net.c Fri Apr 6 05:59:21 2001 +++ driver.new/dvb_net.c Thu May 17 18:34:05 2001 @@ -25,6 +25,7 @@ #include #include #include +#include #ifdef __DVB_PACK__ #include @@ -267,8 +268,8 @@ printk("%s: set_mac\n", dev->name); memcpy(dev->dev_addr, addr, 6); if (netif_running(dev)) { - dvb_net_filter_free(dev); - dvb_net_filter_set(dev, dev->base_addr, mac); +// dvb_net_filter_free(dev); +// dvb_net_filter_set(dev, dev->base_addr, mac); } return 0; } @@ -277,7 +278,7 @@ static int dvb_net_open(struct net_device *dev) { - dvb_net_filter_set(dev, dev->base_addr, dev->dev_addr); +// dvb_net_filter_set(dev, dev->base_addr, dev->dev_addr); printk("dvb_net: open\n"); MOD_INC_USE_COUNT; @@ -287,7 +288,7 @@ static int dvb_net_stop(struct net_device *dev) { - dvb_net_filter_free(dev); +// dvb_net_filter_free(dev); printk("dvb_net: stop\n"); MOD_DEC_USE_COUNT; @@ -300,6 +301,16 @@ return &((dvb_net_priv_t *)dev->priv)->stats; } +static void getMAC(struct net_device *net) +{ + net->dev_addr[0]=0x00; + net->dev_addr[1]=0xd0; + net->dev_addr[2]=0x5c; + net->dev_addr[3]=0x01; + net->dev_addr[4]=0x02; + net->dev_addr[5]=0x03; + return; +} static int dvb_net_init(struct net_device *dev) @@ -315,6 +326,7 @@ dev->set_multicast_list = dvb_net_set_multi; dev->set_config = dvb_net_set_config; ether_setup(dev); + getMAC(dev); dev->set_mac_address = dvb_net_set_mac; return 0;