public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] USB: Fix kernel oops with g_ether and Windows
@ 2010-08-21 10:54 Maxim Osipov
  2010-08-21 13:27 ` Sergei Shtylyov
  2010-09-06 14:37 ` Gadiyar, Anand
  0 siblings, 2 replies; 13+ messages in thread
From: Maxim Osipov @ 2010-08-21 10:54 UTC (permalink / raw)
  To: David Brownell, Greg Kroah-Hartman, Maxim Osipov, linux-usb,
	linux-kernel

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

Hello,

Please find attached patch for
https://bugzilla.kernel.org/show_bug.cgi?id=16023 problem.

Kind regards,
Maxim

[-- Attachment #2: 0001-USB-Fix-kernel-oops-with-g_ether-and-Windows.patch --]
[-- Type: text/x-patch, Size: 1159 bytes --]

From 43568dec4f387da4562d5bc81557c642a468b685 Mon Sep 17 00:00:00 2001
From: Maxim Osipov <maxim.osipov@gmail.com>
Date: Thu, 19 Aug 2010 07:25:28 +0400
Subject: [PATCH] USB: Fix kernel oops with g_ether and Windows

Signed-off-by: Maxim Osipov <maxim.osipov@gmail.com>
---
 drivers/usb/gadget/rndis.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/usb/gadget/rndis.c b/drivers/usb/gadget/rndis.c
index 5c0d06c..1043da1 100644
--- a/drivers/usb/gadget/rndis.c
+++ b/drivers/usb/gadget/rndis.c
@@ -292,9 +292,13 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	/* mandatory */
 	case OID_GEN_VENDOR_DESCRIPTION:
 		pr_debug("%s: OID_GEN_VENDOR_DESCRIPTION\n", __func__);
-		length = strlen (rndis_per_dev_params [configNr].vendorDescr);
-		memcpy (outbuf,
-			rndis_per_dev_params [configNr].vendorDescr, length);
+		if ( rndis_per_dev_params [configNr].vendorDescr ) {
+			length = strlen (rndis_per_dev_params [configNr].vendorDescr);
+			memcpy (outbuf,
+				rndis_per_dev_params [configNr].vendorDescr, length);
+		} else {
+			outbuf[0] = 0;
+		}
 		retval = 0;
 		break;
 
-- 
1.7.1


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2010-08-21 10:54 [PATCH] USB: Fix kernel oops with g_ether and Windows Maxim Osipov
@ 2010-08-21 13:27 ` Sergei Shtylyov
  2010-09-06 14:37 ` Gadiyar, Anand
  1 sibling, 0 replies; 13+ messages in thread
From: Sergei Shtylyov @ 2010-08-21 13:27 UTC (permalink / raw)
  To: Maxim Osipov; +Cc: David Brownell, Greg Kroah-Hartman, linux-usb, linux-kernel

Hello.

Maxim Osipov wrote:

> Please find attached patch for
> https://bugzilla.kernel.org/show_bug.cgi?id=16023 problem.

    It's preferrable that the patahces areposted inline.

> Kind regards,
> Maxim

> From 43568dec4f387da4562d5bc81557c642a468b685 Mon Sep 17 00:00:00 2001
> From: Maxim Osipov <maxim.osipov@gmail.com>
> Date: Thu, 19 Aug 2010 07:25:28 +0400
> Subject: [PATCH] USB: Fix kernel oops with g_ether and Windows

> Signed-off-by: Maxim Osipov <maxim.osipov@gmail.com>
[...]
> diff --git a/drivers/usb/gadget/rndis.c b/drivers/usb/gadget/rndis.c
> index 5c0d06c..1043da1 100644
> --- a/drivers/usb/gadget/rndis.c
> +++ b/drivers/usb/gadget/rndis.c
> @@ -292,9 +292,13 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
>  	/* mandatory */
>  	case OID_GEN_VENDOR_DESCRIPTION:
>  		pr_debug("%s: OID_GEN_VENDOR_DESCRIPTION\n", __func__);
> -		length = strlen (rndis_per_dev_params [configNr].vendorDescr);
> -		memcpy (outbuf,
> -			rndis_per_dev_params [configNr].vendorDescr, length);
> +		if ( rndis_per_dev_params [configNr].vendorDescr ) {

    There should be not space after ( and before ). Run your patches thru 
scripts/checkpatch.pl before submitting please.

> +			length = strlen (rndis_per_dev_params [configNr].vendorDescr);
> +			memcpy (outbuf,
> +				rndis_per_dev_params [configNr].vendorDescr, length);

    Should be no space before ( either and before [ too.

WBR, Sergei


^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2010-08-21 10:54 [PATCH] USB: Fix kernel oops with g_ether and Windows Maxim Osipov
  2010-08-21 13:27 ` Sergei Shtylyov
@ 2010-09-06 14:37 ` Gadiyar, Anand
  2010-09-06 20:18   ` Greg KH
  1 sibling, 1 reply; 13+ messages in thread
From: Gadiyar, Anand @ 2010-09-06 14:37 UTC (permalink / raw)
  To: Maxim Osipov, David Brownell, Greg Kroah-Hartman,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 483 bytes --]

Maxim Osipov wrote:
> Hello,
> 
> Please find attached patch for
> https://bugzilla.kernel.org/show_bug.cgi?id=16023 problem.
> 

Looks like this is already in greg's tree, but the patch has
checkpatch errors.

(Caught by an autobuild tool we're playing with).

@Greg,
Would you like an updated patch fixing them?

- Anand
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2010-09-06 14:37 ` Gadiyar, Anand
@ 2010-09-06 20:18   ` Greg KH
  2010-09-07  9:55     ` Sergei Shtylyov
  0 siblings, 1 reply; 13+ messages in thread
From: Greg KH @ 2010-09-06 20:18 UTC (permalink / raw)
  To: Gadiyar, Anand
  Cc: Maxim Osipov, David Brownell, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org

On Mon, Sep 06, 2010 at 08:07:31PM +0530, Gadiyar, Anand wrote:
> Maxim Osipov wrote:
> > Hello,
> > 
> > Please find attached patch for
> > https://bugzilla.kernel.org/show_bug.cgi?id=16023 problem.
> > 
> 
> Looks like this is already in greg's tree, but the patch has
> checkpatch errors.
> 
> (Caught by an autobuild tool we're playing with).
> 
> @Greg,
> Would you like an updated patch fixing them?

Please, that would be great.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2010-09-06 20:18   ` Greg KH
@ 2010-09-07  9:55     ` Sergei Shtylyov
  2010-09-07 10:12       ` Maxim Osipov
  0 siblings, 1 reply; 13+ messages in thread
From: Sergei Shtylyov @ 2010-09-07  9:55 UTC (permalink / raw)
  To: Greg KH
  Cc: Gadiyar, Anand, Maxim Osipov, David Brownell,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org

Hello.

On 07-09-2010 0:18, Greg KH wrote:

>>> Please find attached patch for
>>> https://bugzilla.kernel.org/show_bug.cgi?id=16023 problem.

>> Looks like this is already in greg's tree, but the patch has
>> checkpatch errors.

>> (Caught by an autobuild tool we're playing with).

    It was caught by me on the list too, right at the same day the patch was 
posted. The author remained silent though...

>> @Greg,
>> Would you like an updated patch fixing them?

> Please, that would be great.

    I think it's too late. You've sent it to Linus on 9/04 already.

> thanks,

> greg k-h

WBR, Sergei

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2010-09-07  9:55     ` Sergei Shtylyov
@ 2010-09-07 10:12       ` Maxim Osipov
  2010-09-07 10:48         ` Gadiyar, Anand
  0 siblings, 1 reply; 13+ messages in thread
From: Maxim Osipov @ 2010-09-07 10:12 UTC (permalink / raw)
  To: Sergei Shtylyov
  Cc: Greg KH, Gadiyar, Anand, David Brownell,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org

Hi,

On Tue, Sep 7, 2010 at 1:55 PM, Sergei Shtylyov <sshtylyov@mvista.com> wrote:
>
>   It was caught by me on the list too, right at the same day the patch was
> posted. The author remained silent though...
>

Sorry for being silent - I had lots of things to do. Regarding the
patch itself - I respect kernel coding conventions, but I think it is
bad to have two different code styles in one file. Note, this is my
personal opinion only.

Kind regards,
Maxim

^ permalink raw reply	[flat|nested] 13+ messages in thread

* RE: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2010-09-07 10:12       ` Maxim Osipov
@ 2010-09-07 10:48         ` Gadiyar, Anand
  2010-09-07 21:29           ` Greg KH
  0 siblings, 1 reply; 13+ messages in thread
From: Gadiyar, Anand @ 2010-09-07 10:48 UTC (permalink / raw)
  To: Maxim Osipov, Sergei Shtylyov
  Cc: Greg KH, David Brownell, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 976 bytes --]

Maxim Osipov wrote:
> On Tue, Sep 7, 2010 at 1:55 PM, Sergei Shtylyov <sshtylyov@mvista.com> wrote:
> >
> >   It was caught by me on the list too, right at the same day the patch was
> > posted. The author remained silent though...
> >

Sorry Sergei, I seem to have missed your mail on the list, and didn't
bother hunting in the list archives.

> 
> Sorry for being silent - I had lots of things to do. Regarding the
> patch itself - I respect kernel coding conventions, but I think it is
> bad to have two different code styles in one file. Note, this is my
> personal opinion only.
> 

I should have looked closer - I see now that you've only retained
the existing style.

Since Greg has already sent a pull request, I won't touch the file
now; maybe a trivial patch later on to fix up the coding style.

- Anand
ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ\x17¥Šwÿº{.nÇ+‰·¥Š{±þG«éÿŠ{ayº\x1dʇڙë,j\a­¢f£¢·hšïêÿ‘êçz_è®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿÿ¾\a«þG«éÿ¢¸?™¨è­Ú&£ø§~á¶iO•æ¬z·švØ^\x14\x04\x1a¶^[m§ÿÿÃ\fÿ¶ìÿ¢¸?–I¥

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2010-09-07 10:48         ` Gadiyar, Anand
@ 2010-09-07 21:29           ` Greg KH
  2010-09-07 23:54             ` Mihai Donțu
  0 siblings, 1 reply; 13+ messages in thread
From: Greg KH @ 2010-09-07 21:29 UTC (permalink / raw)
  To: Gadiyar, Anand
  Cc: Maxim Osipov, Sergei Shtylyov, David Brownell,
	linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org

On Tue, Sep 07, 2010 at 04:18:23PM +0530, Gadiyar, Anand wrote:
> Since Greg has already sent a pull request, I won't touch the file
> now; maybe a trivial patch later on to fix up the coding style.

That would be fine to have, I'd gladly accept it.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2010-09-07 21:29           ` Greg KH
@ 2010-09-07 23:54             ` Mihai Donțu
  2010-09-08  0:34               ` Greg KH
  0 siblings, 1 reply; 13+ messages in thread
From: Mihai Donțu @ 2010-09-07 23:54 UTC (permalink / raw)
  To: Greg KH
  Cc: Gadiyar, Anand, Maxim Osipov, Sergei Shtylyov, David Brownell,
	linux-usb, linux-kernel

On Wednesday 08 September 2010 00:29:15 Greg KH wrote:
> On Tue, Sep 07, 2010 at 04:18:23PM +0530, Gadiyar, Anand wrote:
> > Since Greg has already sent a pull request, I won't touch the file
> > now; maybe a trivial patch later on to fix up the coding style.
> 
> That would be fine to have, I'd gladly accept it.

Would something like the following do? It's against:
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6.git

Corrected the coding style.

Signed-off-by: Mihai Dontu <mihai.dontu@gmail.com>
---
 drivers/usb/gadget/rndis.c |  492 ++++++++++++++++++++++----------------------
 1 files changed, 244 insertions(+), 248 deletions(-)

diff --git a/drivers/usb/gadget/rndis.c b/drivers/usb/gadget/rndis.c
index 972d5dd..6a7dd91 100644
--- a/drivers/usb/gadget/rndis.c
+++ b/drivers/usb/gadget/rndis.c
@@ -61,17 +61,17 @@ MODULE_PARM_DESC (rndis_debug, "enable debugging");
 #define RNDIS_MAX_CONFIGS	1
 
 
-static rndis_params rndis_per_dev_params [RNDIS_MAX_CONFIGS];
+static rndis_params rndis_per_dev_params[RNDIS_MAX_CONFIGS];
 
 /* Driver Version */
-static const __le32 rndis_driver_version = cpu_to_le32 (1);
+static const __le32 rndis_driver_version = cpu_to_le32(1);
 
 /* Function Prototypes */
-static rndis_resp_t *rndis_add_response (int configNr, u32 length);
+static rndis_resp_t *rndis_add_response(int configNr, u32 length);
 
 
 /* supported OIDs */
-static const u32 oid_supported_list [] =
+static const u32 oid_supported_list[] =
 {
 	/* the general stuff */
 	OID_GEN_SUPPORTED_LIST,
@@ -161,21 +161,20 @@ static const u32 oid_supported_list [] =
 
 
 /* NDIS Functions */
-static int
-gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
-		rndis_resp_t *r)
+static int gen_ndis_query_resp(int configNr, u32 OID, u8 *buf,
+			       unsigned buf_len, rndis_resp_t *r)
 {
-	int			retval = -ENOTSUPP;
-	u32			length = 4;	/* usually */
-	__le32			*outbuf;
-	int			i, count;
-	rndis_query_cmplt_type	*resp;
-	struct net_device	*net;
+	int retval = -ENOTSUPP;
+	u32 length = 4;	/* usually */
+	__le32 *outbuf;
+	int i, count;
+	rndis_query_cmplt_type *resp;
+	struct net_device *net;
 	struct rtnl_link_stats64 temp;
 	const struct rtnl_link_stats64 *stats;
 
 	if (!r) return -ENOMEM;
-	resp = (rndis_query_cmplt_type *) r->buf;
+	resp = (rndis_query_cmplt_type *)r->buf;
 
 	if (!resp) return -ENOMEM;
 
@@ -191,8 +190,8 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	}
 
 	/* response goes here, right after the header */
-	outbuf = (__le32 *) &resp[1];
-	resp->InformationBufferOffset = cpu_to_le32 (16);
+	outbuf = (__le32 *)&resp[1];
+	resp->InformationBufferOffset = cpu_to_le32(16);
 
 	net = rndis_per_dev_params[configNr].dev;
 	stats = dev_get_stats(net, &temp);
@@ -204,10 +203,10 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	/* mandatory */
 	case OID_GEN_SUPPORTED_LIST:
 		pr_debug("%s: OID_GEN_SUPPORTED_LIST\n", __func__);
-		length = sizeof (oid_supported_list);
-		count  = length / sizeof (u32);
+		length = sizeof(oid_supported_list);
+		count  = length / sizeof(u32);
 		for (i = 0; i < count; i++)
-			outbuf[i] = cpu_to_le32 (oid_supported_list[i]);
+			outbuf[i] = cpu_to_le32(oid_supported_list[i]);
 		retval = 0;
 		break;
 
@@ -220,14 +219,14 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 		 * reddite ergo quae sunt Caesaris Caesari
 		 * et quae sunt Dei Deo!
 		 */
-		*outbuf = cpu_to_le32 (0);
+		*outbuf = cpu_to_le32(0);
 		retval = 0;
 		break;
 
 	/* mandatory */
 	case OID_GEN_MEDIA_SUPPORTED:
 		pr_debug("%s: OID_GEN_MEDIA_SUPPORTED\n", __func__);
-		*outbuf = cpu_to_le32 (rndis_per_dev_params [configNr].medium);
+		*outbuf = cpu_to_le32(rndis_per_dev_params[configNr].medium);
 		retval = 0;
 		break;
 
@@ -235,16 +234,16 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	case OID_GEN_MEDIA_IN_USE:
 		pr_debug("%s: OID_GEN_MEDIA_IN_USE\n", __func__);
 		/* one medium, one transport... (maybe you do it better) */
-		*outbuf = cpu_to_le32 (rndis_per_dev_params [configNr].medium);
+		*outbuf = cpu_to_le32(rndis_per_dev_params[configNr].medium);
 		retval = 0;
 		break;
 
 	/* mandatory */
 	case OID_GEN_MAXIMUM_FRAME_SIZE:
 		pr_debug("%s: OID_GEN_MAXIMUM_FRAME_SIZE\n", __func__);
-		if (rndis_per_dev_params [configNr].dev) {
-			*outbuf = cpu_to_le32 (
-				rndis_per_dev_params [configNr].dev->mtu);
+		if (rndis_per_dev_params[configNr].dev) {
+			*outbuf = cpu_to_le32(
+				rndis_per_dev_params[configNr].dev->mtu);
 			retval = 0;
 		}
 		break;
@@ -253,21 +252,21 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	case OID_GEN_LINK_SPEED:
 		if (rndis_debug > 1)
 			pr_debug("%s: OID_GEN_LINK_SPEED\n", __func__);
-		if (rndis_per_dev_params [configNr].media_state
+		if (rndis_per_dev_params[configNr].media_state
 				== NDIS_MEDIA_STATE_DISCONNECTED)
-			*outbuf = cpu_to_le32 (0);
+			*outbuf = cpu_to_le32(0);
 		else
-			*outbuf = cpu_to_le32 (
-				rndis_per_dev_params [configNr].speed);
+			*outbuf = cpu_to_le32(
+				rndis_per_dev_params[configNr].speed);
 		retval = 0;
 		break;
 
 	/* mandatory */
 	case OID_GEN_TRANSMIT_BLOCK_SIZE:
 		pr_debug("%s: OID_GEN_TRANSMIT_BLOCK_SIZE\n", __func__);
-		if (rndis_per_dev_params [configNr].dev) {
-			*outbuf = cpu_to_le32 (
-				rndis_per_dev_params [configNr].dev->mtu);
+		if (rndis_per_dev_params[configNr].dev) {
+			*outbuf = cpu_to_le32(
+				rndis_per_dev_params[configNr].dev->mtu);
 			retval = 0;
 		}
 		break;
@@ -275,9 +274,9 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	/* mandatory */
 	case OID_GEN_RECEIVE_BLOCK_SIZE:
 		pr_debug("%s: OID_GEN_RECEIVE_BLOCK_SIZE\n", __func__);
-		if (rndis_per_dev_params [configNr].dev) {
-			*outbuf = cpu_to_le32 (
-				rndis_per_dev_params [configNr].dev->mtu);
+		if (rndis_per_dev_params[configNr].dev) {
+			*outbuf = cpu_to_le32(
+				rndis_per_dev_params[configNr].dev->mtu);
 			retval = 0;
 		}
 		break;
@@ -285,18 +284,20 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	/* mandatory */
 	case OID_GEN_VENDOR_ID:
 		pr_debug("%s: OID_GEN_VENDOR_ID\n", __func__);
-		*outbuf = cpu_to_le32 (
-			rndis_per_dev_params [configNr].vendorID);
+		*outbuf = cpu_to_le32(
+			rndis_per_dev_params[configNr].vendorID);
 		retval = 0;
 		break;
 
 	/* mandatory */
 	case OID_GEN_VENDOR_DESCRIPTION:
 		pr_debug("%s: OID_GEN_VENDOR_DESCRIPTION\n", __func__);
-		if ( rndis_per_dev_params [configNr].vendorDescr ) {
-			length = strlen (rndis_per_dev_params [configNr].vendorDescr);
-			memcpy (outbuf,
-				rndis_per_dev_params [configNr].vendorDescr, length);
+		if (rndis_per_dev_params[configNr].vendorDescr) {
+			length = strlen(rndis_per_dev_params[configNr].
+					vendorDescr);
+			memcpy(outbuf,
+				rndis_per_dev_params[configNr].vendorDescr,
+				length);
 		} else {
 			outbuf[0] = 0;
 		}
@@ -313,7 +314,7 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	/* mandatory */
 	case OID_GEN_CURRENT_PACKET_FILTER:
 		pr_debug("%s: OID_GEN_CURRENT_PACKET_FILTER\n", __func__);
-		*outbuf = cpu_to_le32 (*rndis_per_dev_params[configNr].filter);
+		*outbuf = cpu_to_le32(*rndis_per_dev_params[configNr].filter);
 		retval = 0;
 		break;
 
@@ -328,14 +329,14 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	case OID_GEN_MEDIA_CONNECT_STATUS:
 		if (rndis_debug > 1)
 			pr_debug("%s: OID_GEN_MEDIA_CONNECT_STATUS\n", __func__);
-		*outbuf = cpu_to_le32 (rndis_per_dev_params [configNr]
+		*outbuf = cpu_to_le32(rndis_per_dev_params[configNr]
 						.media_state);
 		retval = 0;
 		break;
 
 	case OID_GEN_PHYSICAL_MEDIUM:
 		pr_debug("%s: OID_GEN_PHYSICAL_MEDIUM\n", __func__);
-		*outbuf = cpu_to_le32 (0);
+		*outbuf = cpu_to_le32(0);
 		retval = 0;
 		break;
 
@@ -409,10 +410,10 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	/* mandatory */
 	case OID_802_3_PERMANENT_ADDRESS:
 		pr_debug("%s: OID_802_3_PERMANENT_ADDRESS\n", __func__);
-		if (rndis_per_dev_params [configNr].dev) {
+		if (rndis_per_dev_params[configNr].dev) {
 			length = ETH_ALEN;
-			memcpy (outbuf,
-				rndis_per_dev_params [configNr].host_mac,
+			memcpy(outbuf,
+				rndis_per_dev_params[configNr].host_mac,
 				length);
 			retval = 0;
 		}
@@ -421,9 +422,9 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	/* mandatory */
 	case OID_802_3_CURRENT_ADDRESS:
 		pr_debug("%s: OID_802_3_CURRENT_ADDRESS\n", __func__);
-		if (rndis_per_dev_params [configNr].dev) {
+		if (rndis_per_dev_params[configNr].dev) {
 			length = ETH_ALEN;
-			memcpy (outbuf,
+			memcpy(outbuf,
 				rndis_per_dev_params [configNr].host_mac,
 				length);
 			retval = 0;
@@ -434,7 +435,7 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	case OID_802_3_MULTICAST_LIST:
 		pr_debug("%s: OID_802_3_MULTICAST_LIST\n", __func__);
 		/* Multicast base address only */
-		*outbuf = cpu_to_le32 (0xE0000000);
+		*outbuf = cpu_to_le32(0xE0000000);
 		retval = 0;
 		break;
 
@@ -442,7 +443,7 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	case OID_802_3_MAXIMUM_LIST_SIZE:
 		pr_debug("%s: OID_802_3_MAXIMUM_LIST_SIZE\n", __func__);
 		/* Multicast base address only */
-		*outbuf = cpu_to_le32 (1);
+		*outbuf = cpu_to_le32(1);
 		retval = 0;
 		break;
 
@@ -466,14 +467,14 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	/* mandatory */
 	case OID_802_3_XMIT_ONE_COLLISION:
 		pr_debug("%s: OID_802_3_XMIT_ONE_COLLISION\n", __func__);
-		*outbuf = cpu_to_le32 (0);
+		*outbuf = cpu_to_le32(0);
 		retval = 0;
 		break;
 
 	/* mandatory */
 	case OID_802_3_XMIT_MORE_COLLISIONS:
 		pr_debug("%s: OID_802_3_XMIT_MORE_COLLISIONS\n", __func__);
-		*outbuf = cpu_to_le32 (0);
+		*outbuf = cpu_to_le32(0);
 		retval = 0;
 		break;
 
@@ -484,22 +485,22 @@ gen_ndis_query_resp (int configNr, u32 OID, u8 *buf, unsigned buf_len,
 	if (retval < 0)
 		length = 0;
 
-	resp->InformationBufferLength = cpu_to_le32 (length);
-	r->length = length + sizeof *resp;
-	resp->MessageLength = cpu_to_le32 (r->length);
+	resp->InformationBufferLength = cpu_to_le32(length);
+	r->length = length + sizeof(*resp);
+	resp->MessageLength = cpu_to_le32(r->length);
 	return retval;
 }
 
-static int gen_ndis_set_resp (u8 configNr, u32 OID, u8 *buf, u32 buf_len,
-			rndis_resp_t *r)
+static int gen_ndis_set_resp(u8 configNr, u32 OID, u8 *buf, u32 buf_len,
+			     rndis_resp_t *r)
 {
-	rndis_set_cmplt_type		*resp;
-	int				i, retval = -ENOTSUPP;
-	struct rndis_params		*params;
+	rndis_set_cmplt_type *resp;
+	int i, retval = -ENOTSUPP;
+	struct rndis_params *params;
 
 	if (!r)
 		return -ENOMEM;
-	resp = (rndis_set_cmplt_type *) r->buf;
+	resp = (rndis_set_cmplt_type *)r->buf;
 	if (!resp)
 		return -ENOMEM;
 
@@ -514,7 +515,7 @@ static int gen_ndis_set_resp (u8 configNr, u32 OID, u8 *buf, u32 buf_len,
 		}
 	}
 
-	params = &rndis_per_dev_params [configNr];
+	params = &rndis_per_dev_params[configNr];
 	switch (OID) {
 	case OID_GEN_CURRENT_PACKET_FILTER:
 
@@ -537,11 +538,11 @@ static int gen_ndis_set_resp (u8 configNr, u32 OID, u8 *buf, u32 buf_len,
 			params->state = RNDIS_DATA_INITIALIZED;
 			netif_carrier_on(params->dev);
 			if (netif_running(params->dev))
-				netif_wake_queue (params->dev);
+				netif_wake_queue(params->dev);
 		} else {
 			params->state = RNDIS_INITIALIZED;
-			netif_carrier_off (params->dev);
-			netif_stop_queue (params->dev);
+			netif_carrier_off(params->dev);
+			netif_stop_queue(params->dev);
 		}
 		break;
 
@@ -563,48 +564,47 @@ static int gen_ndis_set_resp (u8 configNr, u32 OID, u8 *buf, u32 buf_len,
  * Response Functions
  */
 
-static int rndis_init_response (int configNr, rndis_init_msg_type *buf)
+static int rndis_init_response(int configNr, rndis_init_msg_type *buf)
 {
-	rndis_init_cmplt_type	*resp;
-	rndis_resp_t            *r;
-	struct rndis_params	*params = rndis_per_dev_params + configNr;
+	rndis_init_cmplt_type *resp;
+	rndis_resp_t *r;
+	struct rndis_params *params = rndis_per_dev_params + configNr;
 
 	if (!params->dev)
 		return -ENOTSUPP;
 
-	r = rndis_add_response (configNr, sizeof (rndis_init_cmplt_type));
+	r = rndis_add_response(configNr, sizeof(rndis_init_cmplt_type));
 	if (!r)
 		return -ENOMEM;
-	resp = (rndis_init_cmplt_type *) r->buf;
+	resp = (rndis_init_cmplt_type *)r->buf;
 
-	resp->MessageType = cpu_to_le32 (
-			REMOTE_NDIS_INITIALIZE_CMPLT);
-	resp->MessageLength = cpu_to_le32 (52);
+	resp->MessageType = cpu_to_le32(REMOTE_NDIS_INITIALIZE_CMPLT);
+	resp->MessageLength = cpu_to_le32(52);
 	resp->RequestID = buf->RequestID; /* Still LE in msg buffer */
-	resp->Status = cpu_to_le32 (RNDIS_STATUS_SUCCESS);
-	resp->MajorVersion = cpu_to_le32 (RNDIS_MAJOR_VERSION);
-	resp->MinorVersion = cpu_to_le32 (RNDIS_MINOR_VERSION);
-	resp->DeviceFlags = cpu_to_le32 (RNDIS_DF_CONNECTIONLESS);
-	resp->Medium = cpu_to_le32 (RNDIS_MEDIUM_802_3);
-	resp->MaxPacketsPerTransfer = cpu_to_le32 (1);
-	resp->MaxTransferSize = cpu_to_le32 (
+	resp->Status = cpu_to_le32(RNDIS_STATUS_SUCCESS);
+	resp->MajorVersion = cpu_to_le32(RNDIS_MAJOR_VERSION);
+	resp->MinorVersion = cpu_to_le32(RNDIS_MINOR_VERSION);
+	resp->DeviceFlags = cpu_to_le32(RNDIS_DF_CONNECTIONLESS);
+	resp->Medium = cpu_to_le32(RNDIS_MEDIUM_802_3);
+	resp->MaxPacketsPerTransfer = cpu_to_le32(1);
+	resp->MaxTransferSize = cpu_to_le32(
 		  params->dev->mtu
-		+ sizeof (struct ethhdr)
-		+ sizeof (struct rndis_packet_msg_type)
+		+ sizeof(struct ethhdr)
+		+ sizeof(struct rndis_packet_msg_type)
 		+ 22);
-	resp->PacketAlignmentFactor = cpu_to_le32 (0);
-	resp->AFListOffset = cpu_to_le32 (0);
-	resp->AFListSize = cpu_to_le32 (0);
+	resp->PacketAlignmentFactor = cpu_to_le32(0);
+	resp->AFListOffset = cpu_to_le32(0);
+	resp->AFListSize = cpu_to_le32(0);
 
 	params->resp_avail(params->v);
 	return 0;
 }
 
-static int rndis_query_response (int configNr, rndis_query_msg_type *buf)
+static int rndis_query_response(int configNr, rndis_query_msg_type *buf)
 {
 	rndis_query_cmplt_type *resp;
-	rndis_resp_t            *r;
-	struct rndis_params	*params = rndis_per_dev_params + configNr;
+	rndis_resp_t *r;
+	struct rndis_params *params = rndis_per_dev_params + configNr;
 
 	/* pr_debug("%s: OID = %08X\n", __func__, cpu_to_le32(buf->OID)); */
 	if (!params->dev)
@@ -616,47 +616,46 @@ static int rndis_query_response (int configNr, rndis_query_msg_type *buf)
 	 * rndis_query_cmplt_type followed by data.
 	 * oid_supported_list is the largest data reply
 	 */
-	r = rndis_add_response (configNr,
-		sizeof (oid_supported_list) + sizeof(rndis_query_cmplt_type));
+	r = rndis_add_response(configNr,
+		sizeof(oid_supported_list) + sizeof(rndis_query_cmplt_type));
 	if (!r)
 		return -ENOMEM;
-	resp = (rndis_query_cmplt_type *) r->buf;
+	resp = (rndis_query_cmplt_type *)r->buf;
 
-	resp->MessageType = cpu_to_le32 (REMOTE_NDIS_QUERY_CMPLT);
+	resp->MessageType = cpu_to_le32(REMOTE_NDIS_QUERY_CMPLT);
 	resp->RequestID = buf->RequestID; /* Still LE in msg buffer */
 
-	if (gen_ndis_query_resp (configNr, le32_to_cpu (buf->OID),
+	if (gen_ndis_query_resp(configNr, le32_to_cpu(buf->OID),
 			le32_to_cpu(buf->InformationBufferOffset)
-					+ 8 + (u8 *) buf,
+					+ 8 + (u8 *)buf,
 			le32_to_cpu(buf->InformationBufferLength),
 			r)) {
 		/* OID not supported */
-		resp->Status = cpu_to_le32 (
-				RNDIS_STATUS_NOT_SUPPORTED);
-		resp->MessageLength = cpu_to_le32 (sizeof *resp);
-		resp->InformationBufferLength = cpu_to_le32 (0);
-		resp->InformationBufferOffset = cpu_to_le32 (0);
+		resp->Status = cpu_to_le32(RNDIS_STATUS_NOT_SUPPORTED);
+		resp->MessageLength = cpu_to_le32(sizeof *resp);
+		resp->InformationBufferLength = cpu_to_le32(0);
+		resp->InformationBufferOffset = cpu_to_le32(0);
 	} else
-		resp->Status = cpu_to_le32 (RNDIS_STATUS_SUCCESS);
+		resp->Status = cpu_to_le32(RNDIS_STATUS_SUCCESS);
 
 	params->resp_avail(params->v);
 	return 0;
 }
 
-static int rndis_set_response (int configNr, rndis_set_msg_type *buf)
+static int rndis_set_response(int configNr, rndis_set_msg_type *buf)
 {
-	u32			BufLength, BufOffset;
-	rndis_set_cmplt_type	*resp;
-	rndis_resp_t		*r;
-	struct rndis_params	*params = rndis_per_dev_params + configNr;
+	u32 BufLength, BufOffset;
+	rndis_set_cmplt_type *resp;
+	rndis_resp_t *r;
+	struct rndis_params *params = rndis_per_dev_params + configNr;
 
-	r = rndis_add_response (configNr, sizeof (rndis_set_cmplt_type));
+	r = rndis_add_response(configNr, sizeof(rndis_set_cmplt_type));
 	if (!r)
 		return -ENOMEM;
-	resp = (rndis_set_cmplt_type *) r->buf;
+	resp = (rndis_set_cmplt_type *)r->buf;
 
-	BufLength = le32_to_cpu (buf->InformationBufferLength);
-	BufOffset = le32_to_cpu (buf->InformationBufferOffset);
+	BufLength = le32_to_cpu(buf->InformationBufferLength);
+	BufOffset = le32_to_cpu(buf->InformationBufferOffset);
 
 #ifdef	VERBOSE_DEBUG
 	pr_debug("%s: Length: %d\n", __func__, BufLength);
@@ -670,59 +669,59 @@ static int rndis_set_response (int configNr, rndis_set_msg_type *buf)
 	pr_debug("\n");
 #endif
 
-	resp->MessageType = cpu_to_le32 (REMOTE_NDIS_SET_CMPLT);
-	resp->MessageLength = cpu_to_le32 (16);
+	resp->MessageType = cpu_to_le32(REMOTE_NDIS_SET_CMPLT);
+	resp->MessageLength = cpu_to_le32(16);
 	resp->RequestID = buf->RequestID; /* Still LE in msg buffer */
-	if (gen_ndis_set_resp (configNr, le32_to_cpu (buf->OID),
-			((u8 *) buf) + 8 + BufOffset, BufLength, r))
-		resp->Status = cpu_to_le32 (RNDIS_STATUS_NOT_SUPPORTED);
+	if (gen_ndis_set_resp(configNr, le32_to_cpu(buf->OID),
+			((u8 *)buf) + 8 + BufOffset, BufLength, r))
+		resp->Status = cpu_to_le32(RNDIS_STATUS_NOT_SUPPORTED);
 	else
-		resp->Status = cpu_to_le32 (RNDIS_STATUS_SUCCESS);
+		resp->Status = cpu_to_le32(RNDIS_STATUS_SUCCESS);
 
 	params->resp_avail(params->v);
 	return 0;
 }
 
-static int rndis_reset_response (int configNr, rndis_reset_msg_type *buf)
+static int rndis_reset_response(int configNr, rndis_reset_msg_type *buf)
 {
-	rndis_reset_cmplt_type	*resp;
-	rndis_resp_t		*r;
-	struct rndis_params	*params = rndis_per_dev_params + configNr;
+	rndis_reset_cmplt_type *resp;
+	rndis_resp_t *r;
+	struct rndis_params *params = rndis_per_dev_params + configNr;
 
-	r = rndis_add_response (configNr, sizeof (rndis_reset_cmplt_type));
+	r = rndis_add_response(configNr, sizeof(rndis_reset_cmplt_type));
 	if (!r)
 		return -ENOMEM;
-	resp = (rndis_reset_cmplt_type *) r->buf;
+	resp = (rndis_reset_cmplt_type *)r->buf;
 
-	resp->MessageType = cpu_to_le32 (REMOTE_NDIS_RESET_CMPLT);
-	resp->MessageLength = cpu_to_le32 (16);
-	resp->Status = cpu_to_le32 (RNDIS_STATUS_SUCCESS);
+	resp->MessageType = cpu_to_le32(REMOTE_NDIS_RESET_CMPLT);
+	resp->MessageLength = cpu_to_le32(16);
+	resp->Status = cpu_to_le32(RNDIS_STATUS_SUCCESS);
 	/* resent information */
-	resp->AddressingReset = cpu_to_le32 (1);
+	resp->AddressingReset = cpu_to_le32(1);
 
 	params->resp_avail(params->v);
 	return 0;
 }
 
-static int rndis_keepalive_response (int configNr,
-				rndis_keepalive_msg_type *buf)
+static int rndis_keepalive_response(int configNr,
+				    rndis_keepalive_msg_type *buf)
 {
-	rndis_keepalive_cmplt_type	*resp;
-	rndis_resp_t			*r;
-	struct rndis_params	*params = rndis_per_dev_params + configNr;
+	rndis_keepalive_cmplt_type *resp;
+	rndis_resp_t *r;
+	struct rndis_params *params = rndis_per_dev_params + configNr;
 
 	/* host "should" check only in RNDIS_DATA_INITIALIZED state */
 
-	r = rndis_add_response (configNr, sizeof (rndis_keepalive_cmplt_type));
+	r = rndis_add_response(configNr, sizeof(rndis_keepalive_cmplt_type));
 	if (!r)
 		return -ENOMEM;
-	resp = (rndis_keepalive_cmplt_type *) r->buf;
+	resp = (rndis_keepalive_cmplt_type *)r->buf;
 
-	resp->MessageType = cpu_to_le32 (
+	resp->MessageType = cpu_to_le32(
 			REMOTE_NDIS_KEEPALIVE_CMPLT);
-	resp->MessageLength = cpu_to_le32 (16);
+	resp->MessageLength = cpu_to_le32(16);
 	resp->RequestID = buf->RequestID; /* Still LE in msg buffer */
-	resp->Status = cpu_to_le32 (RNDIS_STATUS_SUCCESS);
+	resp->Status = cpu_to_le32(RNDIS_STATUS_SUCCESS);
 
 	params->resp_avail(params->v);
 	return 0;
@@ -732,86 +731,85 @@ static int rndis_keepalive_response (int configNr,
 /*
  * Device to Host Comunication
  */
-static int rndis_indicate_status_msg (int configNr, u32 status)
+static int rndis_indicate_status_msg(int configNr, u32 status)
 {
-	rndis_indicate_status_msg_type	*resp;
-	rndis_resp_t			*r;
-	struct rndis_params	*params = rndis_per_dev_params + configNr;
+	rndis_indicate_status_msg_type *resp;
+	rndis_resp_t *r;
+	struct rndis_params *params = rndis_per_dev_params + configNr;
 
 	if (params->state == RNDIS_UNINITIALIZED)
 		return -ENOTSUPP;
 
-	r = rndis_add_response (configNr,
-				sizeof (rndis_indicate_status_msg_type));
+	r = rndis_add_response(configNr,
+				sizeof(rndis_indicate_status_msg_type));
 	if (!r)
 		return -ENOMEM;
-	resp = (rndis_indicate_status_msg_type *) r->buf;
+	resp = (rndis_indicate_status_msg_type *)r->buf;
 
-	resp->MessageType = cpu_to_le32 (
-			REMOTE_NDIS_INDICATE_STATUS_MSG);
-	resp->MessageLength = cpu_to_le32 (20);
-	resp->Status = cpu_to_le32 (status);
-	resp->StatusBufferLength = cpu_to_le32 (0);
-	resp->StatusBufferOffset = cpu_to_le32 (0);
+	resp->MessageType = cpu_to_le32(REMOTE_NDIS_INDICATE_STATUS_MSG);
+	resp->MessageLength = cpu_to_le32(20);
+	resp->Status = cpu_to_le32(status);
+	resp->StatusBufferLength = cpu_to_le32(0);
+	resp->StatusBufferOffset = cpu_to_le32(0);
 
 	params->resp_avail(params->v);
 	return 0;
 }
 
-int rndis_signal_connect (int configNr)
+int rndis_signal_connect(int configNr)
 {
-	rndis_per_dev_params [configNr].media_state
+	rndis_per_dev_params[configNr].media_state
 			= NDIS_MEDIA_STATE_CONNECTED;
-	return rndis_indicate_status_msg (configNr,
+	return rndis_indicate_status_msg(configNr,
 					  RNDIS_STATUS_MEDIA_CONNECT);
 }
 
-int rndis_signal_disconnect (int configNr)
+int rndis_signal_disconnect(int configNr)
 {
-	rndis_per_dev_params [configNr].media_state
+	rndis_per_dev_params[configNr].media_state
 			= NDIS_MEDIA_STATE_DISCONNECTED;
-	return rndis_indicate_status_msg (configNr,
+	return rndis_indicate_status_msg(configNr,
 					  RNDIS_STATUS_MEDIA_DISCONNECT);
 }
 
-void rndis_uninit (int configNr)
+void rndis_uninit(int configNr)
 {
 	u8 *buf;
 	u32 length;
 
 	if (configNr >= RNDIS_MAX_CONFIGS)
 		return;
-	rndis_per_dev_params [configNr].state = RNDIS_UNINITIALIZED;
+	rndis_per_dev_params[configNr].state = RNDIS_UNINITIALIZED;
 
 	/* drain the response queue */
 	while ((buf = rndis_get_next_response(configNr, &length)))
 		rndis_free_response(configNr, buf);
 }
 
-void rndis_set_host_mac (int configNr, const u8 *addr)
+void rndis_set_host_mac(int configNr, const u8 *addr)
 {
-	rndis_per_dev_params [configNr].host_mac = addr;
+	rndis_per_dev_params[configNr].host_mac = addr;
 }
 
 /*
  * Message Parser
  */
-int rndis_msg_parser (u8 configNr, u8 *buf)
+int rndis_msg_parser(u8 configNr, u8 *buf)
 {
 	u32 MsgType, MsgLength;
 	__le32 *tmp;
-	struct rndis_params		*params;
+	struct rndis_params *params;
 
 	if (!buf)
 		return -ENOMEM;
 
-	tmp = (__le32 *) buf;
+	tmp = (__le32 *)buf;
 	MsgType   = get_unaligned_le32(tmp++);
 	MsgLength = get_unaligned_le32(tmp++);
 
 	if (configNr >= RNDIS_MAX_CONFIGS)
 		return -ENOTSUPP;
-	params = &rndis_per_dev_params [configNr];
+	params = &rndis_per_dev_params[configNr];
 
 	/* NOTE: RNDIS is *EXTREMELY* chatty ... Windows constantly polls for
 	 * rx/tx statistics and link status, in addition to KEEPALIVE traffic
@@ -822,41 +820,41 @@ int rndis_msg_parser (u8 configNr, u8 *buf)
 	switch (MsgType) {
 	case REMOTE_NDIS_INITIALIZE_MSG:
 		pr_debug("%s: REMOTE_NDIS_INITIALIZE_MSG\n",
-			__func__ );
+			__func__);
 		params->state = RNDIS_INITIALIZED;
-		return  rndis_init_response (configNr,
-					(rndis_init_msg_type *) buf);
+		return rndis_init_response(configNr,
+					(rndis_init_msg_type *)buf);
 
 	case REMOTE_NDIS_HALT_MSG:
 		pr_debug("%s: REMOTE_NDIS_HALT_MSG\n",
-			__func__ );
+			__func__);
 		params->state = RNDIS_UNINITIALIZED;
 		if (params->dev) {
-			netif_carrier_off (params->dev);
-			netif_stop_queue (params->dev);
+			netif_carrier_off(params->dev);
+			netif_stop_queue(params->dev);
 		}
 		return 0;
 
 	case REMOTE_NDIS_QUERY_MSG:
-		return rndis_query_response (configNr,
-					(rndis_query_msg_type *) buf);
+		return rndis_query_response(configNr,
+					(rndis_query_msg_type *)buf);
 
 	case REMOTE_NDIS_SET_MSG:
-		return rndis_set_response (configNr,
-					(rndis_set_msg_type *) buf);
+		return rndis_set_response(configNr,
+					(rndis_set_msg_type *)buf);
 
 	case REMOTE_NDIS_RESET_MSG:
 		pr_debug("%s: REMOTE_NDIS_RESET_MSG\n",
-			__func__ );
-		return rndis_reset_response (configNr,
-					(rndis_reset_msg_type *) buf);
+			__func__);
+		return rndis_reset_response(configNr,
+					(rndis_reset_msg_type *)buf);
 
 	case REMOTE_NDIS_KEEPALIVE_MSG:
 		/* For USB: host does this every 5 seconds */
 		if (rndis_debug > 1)
 			pr_debug("%s: REMOTE_NDIS_KEEPALIVE_MSG\n",
-				__func__ );
-		return rndis_keepalive_response (configNr,
+				__func__);
+		return rndis_keepalive_response(configNr,
 						 (rndis_keepalive_msg_type *)
 						 buf);
 
@@ -866,7 +864,7 @@ int rndis_msg_parser (u8 configNr, u8 *buf)
 		 * suspending itself.
 		 */
 		pr_warning("%s: unknown RNDIS message 0x%08X len %d\n",
-			__func__ , MsgType, MsgLength);
+			__func__, MsgType, MsgLength);
 		{
 			unsigned i;
 			for (i = 0; i < MsgLength; i += 16) {
@@ -901,10 +899,10 @@ int rndis_register(void (*resp_avail)(void *v), void *v)
 		return -EINVAL;
 
 	for (i = 0; i < RNDIS_MAX_CONFIGS; i++) {
-		if (!rndis_per_dev_params [i].used) {
-			rndis_per_dev_params [i].used = 1;
-			rndis_per_dev_params [i].resp_avail = resp_avail;
-			rndis_per_dev_params [i].v = v;
+		if (!rndis_per_dev_params[i].used) {
+			rndis_per_dev_params[i].used = 1;
+			rndis_per_dev_params[i].resp_avail = resp_avail;
+			rndis_per_dev_params[i].v = v;
 			pr_debug("%s: configNr = %d\n", __func__, i);
 			return i;
 		}
@@ -914,12 +912,12 @@ int rndis_register(void (*resp_avail)(void *v), void *v)
 	return -ENODEV;
 }
 
-void rndis_deregister (int configNr)
+void rndis_deregister(int configNr)
 {
-	pr_debug("%s: \n", __func__);
+	pr_debug("%s:\n", __func__);
 
 	if (configNr >= RNDIS_MAX_CONFIGS) return;
-	rndis_per_dev_params [configNr].used = 0;
+	rndis_per_dev_params[configNr].used = 0;
 
 	return;
 }
@@ -931,76 +929,76 @@ int rndis_set_param_dev(u8 configNr, struct net_device *dev, u16 *cdc_filter)
 		return -EINVAL;
 	if (configNr >= RNDIS_MAX_CONFIGS) return -1;
 
-	rndis_per_dev_params [configNr].dev = dev;
-	rndis_per_dev_params [configNr].filter = cdc_filter;
+	rndis_per_dev_params[configNr].dev = dev;
+	rndis_per_dev_params[configNr].filter = cdc_filter;
 
 	return 0;
 }
 
-int rndis_set_param_vendor (u8 configNr, u32 vendorID, const char *vendorDescr)
+int rndis_set_param_vendor(u8 configNr, u32 vendorID, const char *vendorDescr)
 {
 	pr_debug("%s:\n", __func__);
 	if (!vendorDescr) return -1;
 	if (configNr >= RNDIS_MAX_CONFIGS) return -1;
 
-	rndis_per_dev_params [configNr].vendorID = vendorID;
-	rndis_per_dev_params [configNr].vendorDescr = vendorDescr;
+	rndis_per_dev_params[configNr].vendorID = vendorID;
+	rndis_per_dev_params[configNr].vendorDescr = vendorDescr;
 
 	return 0;
 }
 
-int rndis_set_param_medium (u8 configNr, u32 medium, u32 speed)
+int rndis_set_param_medium(u8 configNr, u32 medium, u32 speed)
 {
 	pr_debug("%s: %u %u\n", __func__, medium, speed);
 	if (configNr >= RNDIS_MAX_CONFIGS) return -1;
 
-	rndis_per_dev_params [configNr].medium = medium;
-	rndis_per_dev_params [configNr].speed = speed;
+	rndis_per_dev_params[configNr].medium = medium;
+	rndis_per_dev_params[configNr].speed = speed;
 
 	return 0;
 }
 
-void rndis_add_hdr (struct sk_buff *skb)
+void rndis_add_hdr(struct sk_buff *skb)
 {
-	struct rndis_packet_msg_type	*header;
+	struct rndis_packet_msg_type *header;
 
 	if (!skb)
 		return;
-	header = (void *) skb_push (skb, sizeof *header);
-	memset (header, 0, sizeof *header);
+	header = (void *)skb_push(skb, sizeof(*header));
+	memset(header, 0, sizeof *header);
 	header->MessageType = cpu_to_le32(REMOTE_NDIS_PACKET_MSG);
 	header->MessageLength = cpu_to_le32(skb->len);
-	header->DataOffset = cpu_to_le32 (36);
-	header->DataLength = cpu_to_le32(skb->len - sizeof *header);
+	header->DataOffset = cpu_to_le32(36);
+	header->DataLength = cpu_to_le32(skb->len - sizeof(*header));
 }
 
-void rndis_free_response (int configNr, u8 *buf)
+void rndis_free_response(int configNr, u8 *buf)
 {
-	rndis_resp_t		*r;
-	struct list_head	*act, *tmp;
+	rndis_resp_t *r;
+	struct list_head *act, *tmp;
 
-	list_for_each_safe (act, tmp,
-			&(rndis_per_dev_params [configNr].resp_queue))
+	list_for_each_safe(act, tmp,
+			&(rndis_per_dev_params[configNr].resp_queue))
 	{
-		r = list_entry (act, rndis_resp_t, list);
+		r = list_entry(act, rndis_resp_t, list);
 		if (r && r->buf == buf) {
-			list_del (&r->list);
-			kfree (r);
+			list_del(&r->list);
+			kfree(r);
 		}
 	}
 }
 
-u8 *rndis_get_next_response (int configNr, u32 *length)
+u8 *rndis_get_next_response(int configNr, u32 *length)
 {
-	rndis_resp_t		*r;
-	struct list_head	*act, *tmp;
+	rndis_resp_t *r;
+	struct list_head *act, *tmp;
 
 	if (!length) return NULL;
 
-	list_for_each_safe (act, tmp,
-			&(rndis_per_dev_params [configNr].resp_queue))
+	list_for_each_safe(act, tmp,
+			&(rndis_per_dev_params[configNr].resp_queue))
 	{
-		r = list_entry (act, rndis_resp_t, list);
+		r = list_entry(act, rndis_resp_t, list);
 		if (!r->send) {
 			r->send = 1;
 			*length = r->length;
@@ -1011,20 +1009,20 @@ u8 *rndis_get_next_response (int configNr, u32 *length)
 	return NULL;
 }
 
-static rndis_resp_t *rndis_add_response (int configNr, u32 length)
+static rndis_resp_t *rndis_add_response(int configNr, u32 length)
 {
-	rndis_resp_t	*r;
+	rndis_resp_t *r;
 
-	/* NOTE:  this gets copied into ether.c USB_BUFSIZ bytes ... */
-	r = kmalloc (sizeof (rndis_resp_t) + length, GFP_ATOMIC);
+	/* NOTE: this gets copied into ether.c USB_BUFSIZ bytes ... */
+	r = kmalloc(sizeof(rndis_resp_t) + length, GFP_ATOMIC);
 	if (!r) return NULL;
 
-	r->buf = (u8 *) (r + 1);
+	r->buf = (u8 *)(r + 1);
 	r->length = length;
 	r->send = 0;
 
-	list_add_tail (&r->list,
-		&(rndis_per_dev_params [configNr].resp_queue));
+	list_add_tail(&r->list,
+		&(rndis_per_dev_params[configNr].resp_queue));
 	return r;
 }
 
@@ -1033,7 +1031,7 @@ int rndis_rm_hdr(struct gether *port,
 			struct sk_buff_head *list)
 {
 	/* tmp points to a struct rndis_packet_msg_type */
-	__le32		*tmp = (void *) skb->data;
+	__le32 *tmp = (void *)skb->data;
 
 	/* MessageType, MessageLength */
 	if (cpu_to_le32(REMOTE_NDIS_PACKET_MSG)
@@ -1054,7 +1052,7 @@ int rndis_rm_hdr(struct gether *port,
 	return 0;
 }
 
-#ifdef	CONFIG_USB_GADGET_DEBUG_FILES
+#ifdef CONFIG_USB_GADGET_DEBUG_FILES
 
 static int rndis_proc_show(struct seq_file *m, void *v)
 {
@@ -1087,7 +1085,7 @@ static int rndis_proc_show(struct seq_file *m, void *v)
 }
 
 static ssize_t rndis_proc_write(struct file *file, const char __user *buffer,
-		size_t count, loff_t *ppos)
+				size_t count, loff_t *ppos)
 {
 	rndis_params *p = PDE(file->f_path.dentry->d_inode)->data;
 	u32 speed = 0;
@@ -1109,11 +1107,11 @@ static ssize_t rndis_proc_write(struct file *file, const char __user *buffer,
 		case '8':
 		case '9':
 			fl_speed = 1;
-			speed = speed*10 + c - '0';
+			speed = speed * 10 + c - '0';
 			break;
 		case 'C':
 		case 'c':
-			rndis_signal_connect (p->confignr);
+			rndis_signal_connect(p->confignr);
 			break;
 		case 'D':
 		case 'd':
@@ -1145,11 +1143,11 @@ static const struct file_operations rndis_proc_fops = {
 	.write		= rndis_proc_write,
 };
 
-#define	NAME_TEMPLATE	"driver/rndis-%03d"
+#define	NAME_TEMPLATE "driver/rndis-%03d"
 
 static struct proc_dir_entry *rndis_connect_state [RNDIS_MAX_CONFIGS];
 
-#endif	/* CONFIG_USB_GADGET_DEBUG_FILES */
+#endif /* CONFIG_USB_GADGET_DEBUG_FILES */
 
 
 int rndis_init(void)
@@ -1160,42 +1158,40 @@ int rndis_init(void)
 #ifdef	CONFIG_USB_GADGET_DEBUG_FILES
 		char name [20];
 
-		sprintf (name, NAME_TEMPLATE, i);
-		if (!(rndis_connect_state [i]
-				= proc_create_data(name, 0660, NULL,
+		sprintf(name, NAME_TEMPLATE, i);
+		rndis_connect_state[i] = proc_create_data(name, 0660, NULL,
 					&rndis_proc_fops,
-					(void *)(rndis_per_dev_params + i))))
-		{
-			pr_debug("%s :remove entries", __func__);
+					(void *)(rndis_per_dev_params + i))
+		if (!rndis_connect_state[i]) {
+			pr_debug("%s: remove entries", __func__);
 			while (i) {
-				sprintf (name, NAME_TEMPLATE, --i);
-				remove_proc_entry (name, NULL);
+				sprintf(name, NAME_TEMPLATE, --i);
+				remove_proc_entry(name, NULL);
 			}
 			pr_debug("\n");
 			return -EIO;
 		}
 #endif
-		rndis_per_dev_params [i].confignr = i;
-		rndis_per_dev_params [i].used = 0;
-		rndis_per_dev_params [i].state = RNDIS_UNINITIALIZED;
-		rndis_per_dev_params [i].media_state
+		rndis_per_dev_params[i].confignr = i;
+		rndis_per_dev_params[i].used = 0;
+		rndis_per_dev_params[i].state = RNDIS_UNINITIALIZED;
+		rndis_per_dev_params[i].media_state
 				= NDIS_MEDIA_STATE_DISCONNECTED;
-		INIT_LIST_HEAD (&(rndis_per_dev_params [i].resp_queue));
+		INIT_LIST_HEAD(&(rndis_per_dev_params[i].resp_queue));
 	}
 
 	return 0;
 }
 
-void rndis_exit (void)
+void rndis_exit(void)
 {
-#ifdef	CONFIG_USB_GADGET_DEBUG_FILES
+#ifdef CONFIG_USB_GADGET_DEBUG_FILES
 	u8 i;
-	char name [20];
+	char name[20];
 
 	for (i = 0; i < RNDIS_MAX_CONFIGS; i++) {
-		sprintf (name, NAME_TEMPLATE, i);
-		remove_proc_entry (name, NULL);
+		sprintf(name, NAME_TEMPLATE, i);
+		remove_proc_entry(name, NULL);
 	}
 #endif
 }
-

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2010-09-07 23:54             ` Mihai Donțu
@ 2010-09-08  0:34               ` Greg KH
  2011-10-12 23:31                 ` Aras Vaichas
  0 siblings, 1 reply; 13+ messages in thread
From: Greg KH @ 2010-09-08  0:34 UTC (permalink / raw)
  To: Mihai Don??u
  Cc: Gadiyar, Anand, Maxim Osipov, Sergei Shtylyov, David Brownell,
	linux-usb, linux-kernel

On Wed, Sep 08, 2010 at 02:54:02AM +0300, Mihai Don??u wrote:
> On Wednesday 08 September 2010 00:29:15 Greg KH wrote:
> > On Tue, Sep 07, 2010 at 04:18:23PM +0530, Gadiyar, Anand wrote:
> > > Since Greg has already sent a pull request, I won't touch the file
> > > now; maybe a trivial patch later on to fix up the coding style.
> > 
> > That would be fine to have, I'd gladly accept it.
> 
> Would something like the following do? It's against:
> git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6.git
> 
> Corrected the coding style.

Looks good, thanks, I'll go queue it up.

greg k-h

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2010-09-08  0:34               ` Greg KH
@ 2011-10-12 23:31                 ` Aras Vaichas
  2011-10-13  0:12                   ` Greg KH
  0 siblings, 1 reply; 13+ messages in thread
From: Aras Vaichas @ 2011-10-12 23:31 UTC (permalink / raw)
  To: Greg KH
  Cc: Mihai Don??u, Gadiyar, Anand, Maxim Osipov, Sergei Shtylyov,
	David Brownell, linux-usb, linux-kernel

On 8 September 2010 10:34, Greg KH <gregkh@suse.de> wrote:
>
> On Wed, Sep 08, 2010 at 02:54:02AM +0300, Mihai Don??u wrote:
> > On Wednesday 08 September 2010 00:29:15 Greg KH wrote:
> > > On Tue, Sep 07, 2010 at 04:18:23PM +0530, Gadiyar, Anand wrote:
> > > > Since Greg has already sent a pull request, I won't touch the file
> > > > now; maybe a trivial patch later on to fix up the coding style.
> > >
> > > That would be fine to have, I'd gladly accept it.
> >
> > Would something like the following do? It's against:
> > git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6.git
> >
> > Corrected the coding style.
>
> Looks good, thanks, I'll go queue it up.

Did this patch get applied and the problem resolved?

I'm running 2.6.33.7-rt29 and we have a customer in India who
complains that they can't connect via USB. We don't have the problem
here, or anywhere else that we know of.

I looked at the logs of the device and it appears to have the same
Oops error as the one that this patch addresses.

e.g.
Oct  7 15:52:50 MDR4330-9000205 user.emerg kernel: Internal error:
Oops: 17 [#1] PREEMPT
Oct  7 15:52:50 MDR4330-9000205 user.emerg kernel: last sysfs file:
/sys/devices/platform/reader/firmware/reader/loading
Oct  7 15:52:50 MDR4330-9000205 user.warn kernel: Modules linked in:
readerdrv g_ether vfat fat
Oct  7 15:52:50 MDR4330-9000205 user.warn kernel: CPU: 0    Not
tainted  (2.6.33.7-rt29-magarm #101)
Oct  7 15:52:50 MDR4330-9000205 user.warn kernel: PC is at strlen+0x10/0x34
Oct  7 15:52:50 MDR4330-9000205 user.warn kernel: LR is at
rndis_msg_parser+0x81c/0x159c [g_ether]
Oct  7 15:52:50 MDR4330-9000205 user.warn kernel: pc : [<c013f0d8>]
lr : [<bf01cf30>]    psr: 60000013

Aras

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2011-10-12 23:31                 ` Aras Vaichas
@ 2011-10-13  0:12                   ` Greg KH
  2011-10-13  0:46                     ` Aras Vaichas
  0 siblings, 1 reply; 13+ messages in thread
From: Greg KH @ 2011-10-13  0:12 UTC (permalink / raw)
  To: Aras Vaichas
  Cc: Mihai Don??u, Gadiyar, Anand, Maxim Osipov, Sergei Shtylyov,
	David Brownell, linux-usb, linux-kernel

On Thu, Oct 13, 2011 at 10:31:08AM +1100, Aras Vaichas wrote:
> On 8 September 2010 10:34, Greg KH <gregkh@suse.de> wrote:

You are responding to a message from over a year ago?

> > On Wed, Sep 08, 2010 at 02:54:02AM +0300, Mihai Don??u wrote:
> > > On Wednesday 08 September 2010 00:29:15 Greg KH wrote:
> > > > On Tue, Sep 07, 2010 at 04:18:23PM +0530, Gadiyar, Anand wrote:
> > > > > Since Greg has already sent a pull request, I won't touch the file
> > > > > now; maybe a trivial patch later on to fix up the coding style.
> > > >
> > > > That would be fine to have, I'd gladly accept it.
> > >
> > > Would something like the following do? It's against:
> > > git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6.git
> > >
> > > Corrected the coding style.
> >
> > Looks good, thanks, I'll go queue it up.
> 
> Did this patch get applied and the problem resolved?

Probably, I'd suggest you take a look at the kernel sources to verify
this, I can't remember what was applied last week very well, let alone
last year.

> I'm running 2.6.33.7-rt29 and we have a customer in India who
> complains that they can't connect via USB. We don't have the problem
> here, or anywhere else that we know of.
> 
> I looked at the logs of the device and it appears to have the same
> Oops error as the one that this patch addresses.

What kernel version are they using?  Hopefully something newer than the
date of this original email :)

greg k-h

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH] USB: Fix kernel oops with g_ether and Windows
  2011-10-13  0:12                   ` Greg KH
@ 2011-10-13  0:46                     ` Aras Vaichas
  0 siblings, 0 replies; 13+ messages in thread
From: Aras Vaichas @ 2011-10-13  0:46 UTC (permalink / raw)
  To: Greg KH
  Cc: Mihai Don??u, Gadiyar, Anand, Maxim Osipov, Sergei Shtylyov,
	David Brownell, linux-usb, linux-kernel

On 13 October 2011 11:12, Greg KH <gregkh@suse.de> wrote:
> On Thu, Oct 13, 2011 at 10:31:08AM +1100, Aras Vaichas wrote:
>> On 8 September 2010 10:34, Greg KH <gregkh@suse.de> wrote:
>
> You are responding to a message from over a year ago?

Yes, sorry, but it's the latest record I could find of this particular
bug and talk of the patch. I just wanted to see if it was followed up
or maybe there was some other issue that meant it couldn't be applied.


>> Did this patch get applied and the problem resolved?
>
> Probably, I'd suggest you take a look at the kernel sources to verify
> this, I can't remember what was applied last week very well, let alone
> last year.

Sorry, I should have checked there first.

It doesn't appear to have been applied to the version I use on my
product which is 2.6.33.7-at91-rt29.

The patch appears to have been applied to 3.1-rc4 so it happened
somewhere in between.

Oh well, I guess I was unlucky. Luckily this is only affecting 1
customer that I know of. Our previous kernel bug was the JFFS2 garbage
collection bug - that one was bricking our products in the field
randomly on every power cycle. I built a solid-state power-cycle jig
that switches our product on and off every few minutes to expose these
types of problems. :)


>> I'm running 2.6.33.7-rt29 and we have a customer in India who
>> complains that they can't connect via USB. We don't have the problem
>> here, or anywhere else that we know of.
>>
>> I looked at the logs of the device and it appears to have the same
>> Oops error as the one that this patch addresses.
>
> What kernel version are they using?  Hopefully something newer than the
> date of this original email :)

They are using our product, which is 2.6.33.7-at91-rt29.

Aras

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2011-10-13  0:47 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-21 10:54 [PATCH] USB: Fix kernel oops with g_ether and Windows Maxim Osipov
2010-08-21 13:27 ` Sergei Shtylyov
2010-09-06 14:37 ` Gadiyar, Anand
2010-09-06 20:18   ` Greg KH
2010-09-07  9:55     ` Sergei Shtylyov
2010-09-07 10:12       ` Maxim Osipov
2010-09-07 10:48         ` Gadiyar, Anand
2010-09-07 21:29           ` Greg KH
2010-09-07 23:54             ` Mihai Donțu
2010-09-08  0:34               ` Greg KH
2011-10-12 23:31                 ` Aras Vaichas
2011-10-13  0:12                   ` Greg KH
2011-10-13  0:46                     ` Aras Vaichas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox