Mailing List archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[linux-dvb] <FIXED> error: union has no member named `ethernet' (2.6.9-rc3-bk8)
C.Y.M wrote:
C.Y.M wrote:
After testing today's latest kernel snapshot against the latest
dvb-kernel cvs drivers, I am getting the following error:
CC [M] drivers/media/dvb/dvb-core/dvb_ca_en50221.o
CC [M] drivers/media/dvb/dvb-core/dvb_frontend.o
CC [M] drivers/media/dvb/dvb-core/dvb_net.o
drivers/media/dvb/dvb-core/dvb_net.c: In function
`dvb_net_eth_type_trans':
drivers/media/dvb/dvb-core/dvb_net.c:143: error: union has no member
named `ethernet'
make[5]: *** [drivers/media/dvb/dvb-core/dvb_net.o] Error 1
make[4]: *** [drivers/media/dvb/dvb-core] Error 2
make[3]: *** [drivers/media/dvb] Error 2
make[2]: *** [drivers/media] Error 2
make[1]: *** [drivers] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.9-rc3-bk8'
make: *** [stamp-build] Error 2
I believe this has to do with the changes from 2.6.9-rc3-bk7 to
2.6.9-rc3-bk8 (bk7 works fine). I may have narrowed it down to the
following changes in the kernel (but I am not positive):
--- a/net/ethernet/eth.c 2004-08-30 14:27:27 -07:00
+++ b/net/ethernet/eth.c 2004-10-05 14:51:01 -07:00
@@ -163,7 +163,7 @@
skb->mac.raw=skb->data;
skb_pull(skb,ETH_HLEN);
- eth= skb->mac.ethernet;
+ eth = eth_hdr(skb);
skb->input_dev = dev;
if(*eth->h_dest&1)
@@ -210,7 +210,7 @@
int eth_header_parse(struct sk_buff *skb, unsigned char *haddr)
{
- struct ethhdr *eth = skb->mac.ethernet;
+ struct ethhdr *eth = eth_hdr(skb);
memcpy(haddr, eth->h_source, ETH_ALEN);
return ETH_ALEN;
}
I just test this mornings kernel build and this is also a problem with
2.6.9-rc3-bk9 (same error as above). I believe the final release of
2.6.9 will have these "ethernet" changes in it so something needs to be
changed with the dvb-kernel's dvb-net code in order to get the final
release of 2.6.9 working.
Thanks,
The following patch needs to be applied to build the dvb-kernel with the
latest 2.6.9-rc3-bk8+ kernel sources:
--- dvb-kernel/linux/drivers/media/dvb/dvb-core/dvb_net.c.original
2004-10-09 13:01:48.000000000 -0700
+++ dvb-kernel/linux/drivers/media/dvb/dvb-core/dvb_net.c
2004-10-09 13:03:30.000000000 -0700
@@ -140,7 +140,7 @@
skb->mac.raw=skb->data;
skb_pull(skb,dev->hard_header_len);
- eth= skb->mac.ethernet;
+ eth = eth_hdr(skb);
if (*eth->h_dest & 1) {
if(memcmp(eth->h_dest,dev->broadcast, ETH_ALEN)==0)
Home |
Main Index |
Thread Index