summaryrefslogtreecommitdiffstats
path: root/linux-2.6-revert-dvb-net-kabi-change.patch
diff options
context:
space:
mode:
authorJesse Keating <jkeating@redhat.com>2010-07-29 17:18:45 -0700
committerJesse Keating <jkeating@redhat.com>2010-07-29 17:18:45 -0700
commit2f82dda4a9bf41e64e864889bf06564bdf826e25 (patch)
tree118a7b483ae5de4dbf83d20001302f1404866ef0 /linux-2.6-revert-dvb-net-kabi-change.patch
parent64ba2e5ffde5f2418eb26c700cb0ab62b04e5013 (diff)
downloaddom0-kernel-2f82dda4a9bf41e64e864889bf06564bdf826e25.tar.gz
dom0-kernel-2f82dda4a9bf41e64e864889bf06564bdf826e25.tar.xz
dom0-kernel-2f82dda4a9bf41e64e864889bf06564bdf826e25.zip
initial srpm import
Diffstat (limited to 'linux-2.6-revert-dvb-net-kabi-change.patch')
-rw-r--r--linux-2.6-revert-dvb-net-kabi-change.patch149
1 files changed, 149 insertions, 0 deletions
diff --git a/linux-2.6-revert-dvb-net-kabi-change.patch b/linux-2.6-revert-dvb-net-kabi-change.patch
new file mode 100644
index 0000000..28d55e0
--- /dev/null
+++ b/linux-2.6-revert-dvb-net-kabi-change.patch
@@ -0,0 +1,149 @@
+diff --git a/drivers/media/dvb/dvb-core/dvb_net.c b/drivers/media/dvb/dvb-core/dvb_net.c
+index f6ba846..03fd9dd 100644
+--- a/drivers/media/dvb/dvb-core/dvb_net.c
++++ b/drivers/media/dvb/dvb-core/dvb_net.c
+@@ -125,6 +125,7 @@ static void hexdump( const unsigned char *buf, unsigned short len )
+
+ struct dvb_net_priv {
+ int in_use;
++ struct net_device_stats stats;
+ u16 pid;
+ struct net_device *net;
+ struct dvb_net *host;
+@@ -383,8 +384,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
+ if (priv->ule_skb) {
+ dev_kfree_skb( priv->ule_skb );
+ /* Prepare for next SNDU. */
+- dev->stats.rx_errors++;
+- dev->stats.rx_frame_errors++;
++ priv->stats.rx_errors++;
++ priv->stats.rx_frame_errors++;
+ }
+ reset_ule(priv);
+ priv->need_pusi = 1;
+@@ -437,8 +438,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
+ dev_kfree_skb( priv->ule_skb );
+ /* Prepare for next SNDU. */
+ // reset_ule(priv); moved to below.
+- dev->stats.rx_errors++;
+- dev->stats.rx_frame_errors++;
++ priv->stats.rx_errors++;
++ priv->stats.rx_frame_errors++;
+ }
+ reset_ule(priv);
+ /* skip to next PUSI. */
+@@ -459,8 +460,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
+ /* Drop partly decoded SNDU, reset state, resync on PUSI. */
+ if (priv->ule_skb) {
+ dev_kfree_skb( priv->ule_skb );
+- dev->stats.rx_errors++;
+- dev->stats.rx_frame_errors++;
++ priv->stats.rx_errors++;
++ priv->stats.rx_frame_errors++;
+ }
+ reset_ule(priv);
+ priv->need_pusi = 1;
+@@ -476,8 +477,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
+ if (priv->ule_sndu_remain > 183) {
+ /* Current SNDU lacks more data than there could be available in the
+ * current TS cell. */
+- dev->stats.rx_errors++;
+- dev->stats.rx_length_errors++;
++ priv->stats.rx_errors++;
++ priv->stats.rx_length_errors++;
+ printk(KERN_WARNING "%lu: Expected %d more SNDU bytes, but "
+ "got PUSI (pf %d, ts_remain %d). Flushing incomplete payload.\n",
+ priv->ts_count, priv->ule_sndu_remain, ts[4], ts_remain);
+@@ -519,8 +520,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
+ if (priv->ule_sndu_len < 5) {
+ printk(KERN_WARNING "%lu: Invalid ULE SNDU length %u. "
+ "Resyncing.\n", priv->ts_count, priv->ule_sndu_len);
+- dev->stats.rx_errors++;
+- dev->stats.rx_length_errors++;
++ priv->stats.rx_errors++;
++ priv->stats.rx_length_errors++;
+ priv->ule_sndu_len = 0;
+ priv->need_pusi = 1;
+ new_ts = 1;
+@@ -572,7 +573,7 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
+ if (priv->ule_skb == NULL) {
+ printk(KERN_NOTICE "%s: Memory squeeze, dropping packet.\n",
+ dev->name);
+- dev->stats.rx_dropped++;
++ priv->stats.rx_dropped++;
+ return;
+ }
+
+@@ -636,8 +637,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
+ ule_dump = 1;
+ #endif
+
+- dev->stats.rx_errors++;
+- dev->stats.rx_crc_errors++;
++ priv->stats.rx_errors++;
++ priv->stats.rx_crc_errors++;
+ dev_kfree_skb(priv->ule_skb);
+ } else {
+ /* CRC32 verified OK. */
+@@ -743,8 +744,8 @@ static void dvb_net_ule( struct net_device *dev, const u8 *buf, size_t buf_len )
+ * receive the packet anyhow. */
+ /* if (priv->ule_dbit && skb->pkt_type == PACKET_OTHERHOST)
+ priv->ule_skb->pkt_type = PACKET_HOST; */
+- dev->stats.rx_packets++;
+- dev->stats.rx_bytes += priv->ule_skb->len;
++ priv->stats.rx_packets++;
++ priv->stats.rx_bytes += priv->ule_skb->len;
+ netif_rx(priv->ule_skb);
+ }
+ sndu_done:
+@@ -799,7 +800,8 @@ static void dvb_net_sec(struct net_device *dev,
+ {
+ u8 *eth;
+ struct sk_buff *skb;
+- struct net_device_stats *stats = &dev->stats;
++ struct net_device_stats *stats =
++ &((struct dvb_net_priv *) netdev_priv(dev))->stats;
+ int snap = 0;
+
+ /* note: pkt_len includes a 32bit checksum */
+@@ -1214,29 +1216,28 @@ static int dvb_net_stop(struct net_device *dev)
+ return dvb_net_feed_stop(dev);
+ }
+
++static struct net_device_stats * dvb_net_get_stats(struct net_device *dev)
++{
++ return &((struct dvb_net_priv *) netdev_priv(dev))->stats;
++}
++
+ static const struct header_ops dvb_header_ops = {
+ .create = eth_header,
+ .parse = eth_header_parse,
+ .rebuild = eth_rebuild_header,
+ };
+
+-
+-static const struct net_device_ops dvb_netdev_ops = {
+- .ndo_open = dvb_net_open,
+- .ndo_stop = dvb_net_stop,
+- .ndo_start_xmit = dvb_net_tx,
+- .ndo_set_multicast_list = dvb_net_set_multicast_list,
+- .ndo_set_mac_address = dvb_net_set_mac,
+- .ndo_change_mtu = eth_change_mtu,
+- .ndo_validate_addr = eth_validate_addr,
+-};
+-
+ static void dvb_net_setup(struct net_device *dev)
+ {
+ ether_setup(dev);
+
+ dev->header_ops = &dvb_header_ops;
+- dev->netdev_ops = &dvb_netdev_ops;
++ dev->open = dvb_net_open;
++ dev->stop = dvb_net_stop;
++ dev->hard_start_xmit = dvb_net_tx;
++ dev->get_stats = dvb_net_get_stats;
++ dev->set_multicast_list = dvb_net_set_multicast_list;
++ dev->set_mac_address = dvb_net_set_mac;
+ dev->mtu = 4096;
+ dev->mc_count = 0;
+