netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Paulius Zaleckas <paulius.zaleckas-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>
To: linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [RFC] updated Patch to option HSO driver to the kernel
Date: Mon, 21 Apr 2008 18:54:42 +0300	[thread overview]
Message-ID: <480CB8C2.9090902@teltonika.lt> (raw)
In-Reply-To: <480BE815.2000409-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 133 bytes --]

Incremental patch.
- Remove multicasting

Signed-off-by: Paulius Zaleckas <paulius.zaleckas-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>

[-- Attachment #2: hso_remove_multicast.patch --]
[-- Type: text/x-patch, Size: 2797 bytes --]

--- linux-2.6-hso-my/drivers/net/usb/hso.c.orig	2008-04-21 18:41:47.000000000 +0300
+++ linux-2.6-hso-my/drivers/net/usb/hso.c	2008-04-21 18:45:43.000000000 +0300
@@ -174,7 +174,6 @@ struct hso_net {
 	struct iphdr rx_ip_hdr;
 	struct ethhdr dummy_eth_head;
 
-	__u16 wNumberMCFilters;
 	unsigned long flags;
 };
 
@@ -870,49 +869,6 @@ static void hso_net_tx_timeout(struct ne
 	odev->stats.tx_errors++;
 }
 
-/* setup the multicast filters */
-static void hso_net_set_multicast(struct net_device *net)
-{
-	struct hso_net *odev = netdev_priv(net);
-	int i = 0;
-	__u8 *buf = NULL;
-
-	/* Tell the kernel to stop sending us frames while we get this all set
-	 * up. */
-	netif_stop_queue(net);
-
-	/* Note: do not reorder, GCC is clever about common statements. */
-	if (net->flags & IFF_PROMISC) {
-		/* Unconditionally log net taps. */
-		D1("%s: Promiscuous mode enabled", net->name);
-	} else if (net->mc_count > odev->wNumberMCFilters) {
-		/* Too many to filter perfectly -- accept all multicasts. */
-		D1("%s: too many MC filters for hardware, using allmulti",
-		   net->name);
-	} else if (net->flags & IFF_ALLMULTI) {
-		/* Filter in software */
-		D1("%s: using allmulti", net->name);
-	} else {
-		/* do multicast filtering in hardware */
-		struct dev_mc_list *mclist;
-		D1("%s: set multicast filters", net->name);
-		buf = kmalloc(6 * net->mc_count, GFP_ATOMIC);
-		if (!buf) {
-			dev_err(&net->dev, "No memory to allocate?");
-			goto exit;
-		}
-		for (i = 0, mclist = net->mc_list; mclist && i < net->mc_count;
-		     i++, mclist = mclist->next) {
-			memcpy(&mclist->dmi_addr, &buf[i * 6], 6);
-		}
-		kfree(buf);
-	}
-
-exit:
-	/* Tell the kernel to start giving frames to us again. */
-	netif_wake_queue(net);
-}
-
 /* make a real packet from the received USB buffer */
 static void packetizeRx(struct hso_net *odev, unsigned char *ip_pkt,
 			unsigned int count, unsigned char is_eop)
@@ -2071,7 +2027,6 @@ static int hso_serial_common_create(stru
 exit:
 	hso_serial_common_free(serial);
 	return -1;
-
 }
 
 /* Frees a general hso device */
@@ -2167,15 +2122,12 @@ static void hso_net_init(struct net_devi
 	net->get_stats = hso_net_get_stats;
 	net->tx_timeout = hso_net_tx_timeout;
 	net->watchdog_timeo = HSO_NET_TX_TIMEOUT;
-	net->set_multicast_list = hso_net_set_multicast;
 	net->flags |= IFF_NOARP;
 	net->mtu = DEFAULT_MTU - 14;
 	net->tx_queue_len = 10;
 	SET_ETHTOOL_OPS(net, &ops);
 	hso_net->skb_rx_buf = NULL;
 	hso_net->rx_parse_state = WAIT_IP;
-	/* always use all multi, no lists of multicasts */
-	hso_net->wNumberMCFilters = 0;
 
 	/* and initialize the semaphore */
 	spin_lock_init(&hso_net->net_lock);
@@ -3084,7 +3036,6 @@ static void __exit hso_exit(void)
 		remove_proc_entry("devices", hso_proc_dir);
 		remove_proc_entry(driver_name, NULL);
 	}

  parent reply	other threads:[~2008-04-21 15:54 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-17 21:47 [RFC] updated Patch to option HSO driver to the kernel Greg KH
     [not found] ` <20080417214719.GF17664-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2008-04-21  1:04   ` Paulius Zaleckas
2008-04-21  8:16     ` Oliver Neukum
2008-04-21  9:34       ` Paulius Zaleckas
     [not found]         ` <480C5FAF.1050408-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>
2008-04-21 18:41           ` David Brownell
     [not found]             ` <20080421184157.106603602C8-ZcXrCSuhvln6VZ3dlLfH/g4gEjPzgfUyLrfjE7I9kuVHxeISYlDBzl6hYfS7NtTn@public.gmane.org>
2008-04-21 22:04               ` Paulius Zaleckas
2008-04-21 22:58                 ` David Brownell
     [not found]                 ` <480D0F5B.9010808-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>
2008-04-22  6:29                   ` Filip Aben
2008-04-22  8:52                   ` Oliver Neukum
     [not found]     ` <480BE815.2000409-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>
2008-04-21 15:54       ` Paulius Zaleckas [this message]
     [not found]         ` <480CB8C2.9090902-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>
2008-04-21 20:17           ` David Brownell
     [not found]             ` <200804211317.23971.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-04-21 22:12               ` Paulius Zaleckas
2008-04-22  8:33           ` Paulius Zaleckas
     [not found]             ` <480DA2CA.8090705-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>
2008-04-22 13:50               ` Paulius Zaleckas
     [not found]                 ` <480DED38.3080900-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>
2008-04-23 13:40                   ` Paulius Zaleckas
     [not found]                     ` <480F3C41.10908-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>
2008-04-25 12:31                       ` Paulius Zaleckas
2008-04-25 13:03                         ` Oliver Neukum
     [not found]                           ` <200804251503.31240.oliver-GvhC2dPhHPQdnm+yROfE0A@public.gmane.org>
2008-04-25 16:09                             ` Christoph Hellwig
     [not found]                         ` <4811CF33.8040007-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>
2008-04-25 13:19                           ` Paulius Zaleckas
     [not found]                             ` <4811DA4F.30209-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>
2008-04-28 10:53                               ` Paulius Zaleckas
     [not found]                                 ` <4815AC9D.7080009-Ft0m5Q12RQ9xBelEqimL3w@public.gmane.org>
2008-04-28 15:37                                   ` Paulius Zaleckas
2008-04-21 12:43   ` Paulius Zaleckas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=480CB8C2.9090902@teltonika.lt \
    --to=paulius.zaleckas-ft0m5q12rq9xbeleqiml3w@public.gmane.org \
    --cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).