X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fxen%2Fnetfront%2Fnetfront.c;fp=drivers%2Fxen%2Fnetfront%2Fnetfront.c;h=5a3e5272399a864b3aea4f0111f14ec3d96294e0;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=5dc55e8334ac748ab4c8cc0ecc3224ebfc6d07fd;hpb=76828883507a47dae78837ab5dec5a5b4513c667;p=linux-2.6.git diff --git a/drivers/xen/netfront/netfront.c b/drivers/xen/netfront/netfront.c index 5dc55e833..5a3e52723 100644 --- a/drivers/xen/netfront/netfront.c +++ b/drivers/xen/netfront/netfront.c @@ -117,7 +117,7 @@ static inline int netif_needs_gso(struct net_device *dev, struct sk_buff *skb) { return skb_is_gso(skb) && (!skb_gso_ok(skb, dev->features) || - unlikely(skb->ip_summed != CHECKSUM_HW)); + unlikely(skb->ip_summed != CHECKSUM_PARTIAL)); } #else #define netif_needs_gso(dev, skb) 0 @@ -245,7 +245,7 @@ static void network_tx_buf_gc(struct net_device *); static void network_alloc_rx_buffers(struct net_device *); static int send_fake_arp(struct net_device *); -static irqreturn_t netif_int(int irq, void *dev_id, struct pt_regs *ptregs); +static irqreturn_t netif_int(int irq, void *dev_id); #ifdef CONFIG_SYSFS static int xennet_sysfs_addif(struct net_device *netdev); @@ -925,7 +925,7 @@ static int network_start_xmit(struct sk_buff *skb, struct net_device *dev) tx->flags = 0; extra = NULL; - if (skb->ip_summed == CHECKSUM_HW) /* local packet? */ + if (skb->ip_summed == CHECKSUM_PARTIAL) /* local packet? */ tx->flags |= NETTXF_csum_blank | NETTXF_data_validated; #ifdef CONFIG_XEN if (skb->proto_data_valid) /* remote but checksummed? */ @@ -980,7 +980,7 @@ static int network_start_xmit(struct sk_buff *skb, struct net_device *dev) return 0; } -static irqreturn_t netif_int(int irq, void *dev_id, struct pt_regs *ptregs) +static irqreturn_t netif_int(int irq, void *dev_id) { struct net_device *dev = dev_id; struct netfront_info *np = netdev_priv(dev); @@ -2127,12 +2127,18 @@ static int __init netif_init(void) module_init(netif_init); +/* it's currently not sane to remove this driver */ +#if 0 static void __exit netif_exit(void) { + if (is_initial_xendomain()) + return; + unregister_inetaddr_notifier(¬ifier_inetdev); return xenbus_unregister_driver(&netfront); } module_exit(netif_exit); +#endif MODULE_LICENSE("Dual BSD/GPL");