Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH net-next-2.6 1/5] genirq: Add IRQ affinity notifiers
From: Thomas Gleixner @ 2011-01-19 21:53 UTC (permalink / raw)
  To: David Miller; +Cc: bhutchings, netdev, linux-net-drivers, therbert
In-Reply-To: <20110119.134812.123988295.davem@davemloft.net>

On Wed, 19 Jan 2011, David Miller wrote:
> From: Thomas Gleixner <tglx@linutronix.de>
> Date: Wed, 19 Jan 2011 22:39:04 +0100 (CET)
> > Nothing will happen and no hassels at all, because your tree and my
> > tree have the exact same commit with the exact same sha1. You don't
> > have further changes in your tree which touch genirq stuff and I don't
> > have anything which touches net.
> 
> You said you had stuff before Ben's patches, and that's why you needed
> to provide me with an -rc1 relative version of his commits.

Sorry, I meant other stuff pending (not yet applied) which will
interfere with that patch. And even if I would have pending patches in
git already it would not matter:

    tip/irq/core     some stuff based on whatever
    tip/irq/for-net  single patch based on rc1

tip/irq/core merges tip/irq/for-net _before_ offering it to Linus

You pull tip/irq/for-net and nothing breaks :)
 
> If that's not the case, then yes it would work just fine.
> 
> Just give me the URL to pull from, thanks!

Will do, give me a day or two !

Thanks,

	tglx

^ permalink raw reply

* Re: [PATCH 00/79] netfilter: netfilter update
From: David Miller @ 2011-01-19 21:55 UTC (permalink / raw)
  To: kaber; +Cc: netfilter-devel, netdev
In-Reply-To: <1295464519-21763-1-git-send-email-kaber@trash.net>

From: kaber@trash.net
Date: Wed, 19 Jan 2011 20:14:00 +0100

> Please pull from
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6.git master

Pulled, thanks.

^ permalink raw reply

* Re: [PATCH] net: fix can_checksum_protocol() arguments swap
From: David Miller @ 2011-01-19 22:14 UTC (permalink / raw)
  To: eric.dumazet; +Cc: netdev, jesse, jmdebruin
In-Reply-To: <1295434296.3273.18.camel@edumazet-laptop>

From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed, 19 Jan 2011 11:51:36 +0100

> commit 0363466866d901fbc (net offloading: Convert checksums to use
> centrally computed features.) mistakenly swapped can_checksum_protocol()
> arguments.
> 
> This broke IPv6 on bnx2 for instance, on NIC without TCPv6 checksum
> offloads.
> 
> Reported-by: Hans de Bruin <jmdebruin@xmsnet.nl>
> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
> CC: Jesse Gross <jesse@nicira.com>

Applied, thanks!

^ permalink raw reply

* [PATCH 2/2] linux-firmware: bnx2: Update firmware and version
From: Michael Chan @ 2011-01-19 21:50 UTC (permalink / raw)
  To: dwmw2; +Cc: netdev
In-Reply-To: <1295473811-17443-1-git-send-email-mchan@broadcom.com>

upstream kernel commit 0268102d53c872b42e214f95492065c8058b042e

Update MIPS firmware to 6.2.1, with improved small packet performance
in RSS mode, and iSCSI CID allocation bug fix on 5708.

Update driver version to 2.0.21.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
 bnx2/bnx2-mips-06-6.2.1.fw |  Bin 0 -> 92792 bytes
 bnx2/bnx2-mips-09-6.2.1.fw |  Bin 0 -> 104104 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 bnx2/bnx2-mips-06-6.2.1.fw
 create mode 100644 bnx2/bnx2-mips-09-6.2.1.fw

diff --git a/bnx2/bnx2-mips-06-6.2.1.fw b/bnx2/bnx2-mips-06-6.2.1.fw
new file mode 100644
index 0000000000000000000000000000000000000000..3c17b89b7041fd99d18dea972b98f9f00328d318
GIT binary patch
literal 92792
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
P2FD$6KCiS=3;p_Ekw0)s

literal 0
HcmV?d00001

diff --git a/bnx2/bnx2-mips-09-6.2.1.fw b/bnx2/bnx2-mips-09-6.2.1.fw
new file mode 100644
index 0000000000000000000000000000000000000000..bd78e3fced4cb02e318d033e3222d15f2f26b89c
GIT binary patch
literal 104104
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
ATmS$7

literal 0
HcmV?d00001

-- 
1.6.4.GIT



^ permalink raw reply

* [PATCH 1/2] linux-firmware: bnx2: Update firmware to 6.0.x.
From: Michael Chan @ 2011-01-19 21:50 UTC (permalink / raw)
  To: dwmw2; +Cc: netdev

upstream kernel commit 22fa159d37efbfe781bbb99279efe83f58b87d29

- Improved flow control and simplified interface
- Use hardware RSS indirection table instead of the slower firmware-
  based table
- Lower latency interrupt on 5709

Signed-off-by: Michael Chan <mchan@broadcom.com>
Reviewed-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
 bnx2/bnx2-mips-06-6.0.15.fw   |  Bin 0 -> 92780 bytes
 bnx2/bnx2-mips-09-6.0.17.fw   |  Bin 0 -> 103488 bytes
 bnx2/bnx2-rv2p-06-6.0.15.fw   |  Bin 0 -> 5696 bytes
 bnx2/bnx2-rv2p-09-6.0.17.fw   |  Bin 0 -> 6104 bytes
 bnx2/bnx2-rv2p-09ax-6.0.17.fw |  Bin 0 -> 6616 bytes
 5 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 bnx2/bnx2-mips-06-6.0.15.fw
 create mode 100644 bnx2/bnx2-mips-09-6.0.17.fw
 create mode 100644 bnx2/bnx2-rv2p-06-6.0.15.fw
 create mode 100644 bnx2/bnx2-rv2p-09-6.0.17.fw
 create mode 100644 bnx2/bnx2-rv2p-09ax-6.0.17.fw

diff --git a/bnx2/bnx2-mips-06-6.0.15.fw b/bnx2/bnx2-mips-06-6.0.15.fw
new file mode 100644
index 0000000000000000000000000000000000000000..012c972b33fe30f2c1ab91dc3ce5bba293a08db4
GIT binary patch
literal 92780
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
CLusA>

literal 0
HcmV?d00001

diff --git a/bnx2/bnx2-mips-09-6.0.17.fw b/bnx2/bnx2-mips-09-6.0.17.fw
new file mode 100644
index 0000000000000000000000000000000000000000..1349994d81ce9c34d397346446d795c8e8e91cb9
GIT binary patch
literal 103488
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

literal 0
HcmV?d00001

diff --git a/bnx2/bnx2-rv2p-06-6.0.15.fw b/bnx2/bnx2-rv2p-06-6.0.15.fw
new file mode 100644
index 0000000000000000000000000000000000000000..4d756e1e5c0a07de32671ccb95d211c8af0264a6
GIT binary patch
literal 5696
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

literal 0
HcmV?d00001

diff --git a/bnx2/bnx2-rv2p-09-6.0.17.fw b/bnx2/bnx2-rv2p-09-6.0.17.fw
new file mode 100644
index 0000000000000000000000000000000000000000..66932993c10086c6069c00b2eb1220f16e7ff2ce
GIT binary patch
literal 6104
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
Fe*??vd9(lk

literal 0
HcmV?d00001

diff --git a/bnx2/bnx2-rv2p-09ax-6.0.17.fw b/bnx2/bnx2-rv2p-09ax-6.0.17.fw
new file mode 100644
index 0000000000000000000000000000000000000000..e5738ce98265952094953d41b22d2eb45826e388
GIT binary patch
literal 6616
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
bc21{$Z2M1fY&ZoT*LLd7+*@qd)xLiL({ZxF

literal 0
HcmV?d00001

-- 
1.6.4.GIT



^ permalink raw reply

* Question on RX packet classification in ethtool userspace
From: Duyck, Alexander H @ 2011-01-19 22:52 UTC (permalink / raw)
  To: David Miller, Ben Hutchings, santwona.behera@sun.com,
	jeff@garzik.org
  Cc: netdev@vger.kernel.org

So I was looking into the option of replacing the ETHTOOL_GRXNTUPLE call with something like ETHTOOL_GRXCLSRLALL and it seems like I wasn't having much luck finding the userspace implementation in the ethtool.

I eventually found a patch in patchwork at http://patchwork.ozlabs.org/patch/23223/ which is supposed to add support but the current ethtool git tree doesn't appear to contain this code.  I was wondering if I am missing something and it is on a branch somewhere, or is this something that was not applied to the userspace for some specific reason?

Thanks,

Alex

^ permalink raw reply

* Re: [Bugme-new] [Bug 26632] New: rtl8169 slow to come up and not allowing telnetd-ssl negotiation
From: Andrew Morton @ 2011-01-19 22:59 UTC (permalink / raw)
  To: netdev, Jan Engelhardt; +Cc: bugzilla-daemon, bugme-daemon, arthur.marsh
In-Reply-To: <bug-26632-10286@https.bugzilla.kernel.org/>


(switched to email.  Please respond via emailed reply-to-all, not via the
bugzilla web interface).

On Thu, 13 Jan 2011 09:53:26 GMT
bugzilla-daemon@bugzilla.kernel.org wrote:

> https://bugzilla.kernel.org/show_bug.cgi?id=26632
> 
>            Summary: rtl8169 slow to come up and not allowing telnetd-ssl
>                     negotiation
>            Product: Drivers
>            Version: 2.5
>     Kernel Version: 2.6.37-git9
>           Platform: All
>         OS/Version: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: high
>           Priority: P1
>          Component: Network
>         AssignedTo: drivers_network@kernel-bugs.osdl.org
>         ReportedBy: arthur.marsh@internode.on.net
>                 CC: arthur.marsh@internode.on.net
>         Regression: Yes
> 
> 
> I have an ASUS M3A78 Pro motherboard (AMD64, RS780 chipset) with onboard
> Realtek 8169. Normally the ethernet connection comes up quickly, including with
> kernel 2.6.37-git7. With kernel 2.6.37-git9, I get the following in dmesg:
> 
> $ dmesg|grep eth0
> [    0.878911] r8169 0000:02:00.0: eth0: RTL8168c/8111c at 0xffffc9000007a000,
> 00:23:54:5e:5d:d5, XID 1c4000c0 IRQ 40
> [   11.156602] r8169 0000:02:00.0: eth0: link down
> [   11.156639] r8169 0000:02:00.0: eth0: link down
> [   11.157333] ADDRCONF(NETDEV_UP): eth0: link is not ready
> [   12.780948] r8169 0000:02:00.0: eth0: link up
> [   12.783051] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
> 
> At this stage I can connect to the internet with HTTP/HTTPS but a telnet-ssl
> <address-of-this-machine> or telnet-ssl from another machine to this one fails
> at the telnet negotiation stage. telnet-ssl from this machine to another works.
> 

This regression was bisected to

0ab03c2b1478f2438d2c80204f7fef65b1bca9cf is the first bad commit
commit 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf
Author: Jan Engelhardt <jengelh@medozas.de>
Date:   Fri Jan 7 03:15:05 2011 +0000

    netlink: test for all flags of the NLM_F_DUMP composite



^ permalink raw reply

* Re: Question on RX packet classification in ethtool userspace
From: Ben Hutchings @ 2011-01-19 23:19 UTC (permalink / raw)
  To: Duyck, Alexander H
  Cc: David Miller, santwona.behera@sun.com, jeff@garzik.org,
	netdev@vger.kernel.org
In-Reply-To: <80769D7B14936844A23C0C43D9FBCF0F25C04CB6B2@orsmsx501.amr.corp.intel.com>

On Wed, 2011-01-19 at 14:52 -0800, Duyck, Alexander H wrote:
> So I was looking into the option of replacing the ETHTOOL_GRXNTUPLE
> call with something like ETHTOOL_GRXCLSRLALL and it seems like I
> wasn't having much luck finding the userspace implementation in the
> ethtool.

I wasn't aware until now that there was a public implementation!

> I eventually found a patch in patchwork at
> http://patchwork.ozlabs.org/patch/23223/ which is supposed to add
> support but the current ethtool git tree doesn't appear to contain
> this code.  I was wondering if I am missing something and it is on a
> branch somewhere, or is this something that was not applied to the
> userspace for some specific reason?

Thanks for digging this up.  It's not in any branch that I know of.  I'm
about to go on vacation, but I'll look at it when I get back.  I would
appreciate it if someone would refresh the patch against current ethtool
(preferably reusing some of the functions added for the RX n-tuple
operations).

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare Communications
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.


^ permalink raw reply

* Re: [Bugme-new] [Bug 26632] New: rtl8169 slow to come up and not allowing telnetd-ssl negotiation
From: Jan Engelhardt @ 2011-01-20  0:12 UTC (permalink / raw)
  To: Andrew Morton; +Cc: netdev, bugzilla-daemon, bugme-daemon, arthur.marsh
In-Reply-To: <20110119145904.d750d49d.akpm@linux-foundation.org>

On Wednesday 2011-01-19 23:59, Andrew Morton wrote:

>(switched to email.  Please respond via emailed reply-to-all, not via the
>bugzilla web interface).
>
>On Thu, 13 Jan 2011 09:53:26 GMT
>bugzilla-daemon@bugzilla.kernel.org wrote:
>
>> https://bugzilla.kernel.org/show_bug.cgi?id=26632
>> 
>>            Summary: rtl8169 slow to come up and not allowing telnetd-ssl
>>                     negotiation
>
>This regression was bisected to
>
>0ab03c2b1478f2438d2c80204f7fef65b1bca9cf is the first bad commit
>    netlink: test for all flags of the NLM_F_DUMP composite

Adressed by dave/net-next-2.6 b8f3ab4290f1e720166e888ea2a1d1d44c4d15dd 
for now while it is being figured out what to really do.


^ permalink raw reply

* Re: [Bugme-new] [Bug 26632] New: rtl8169 slow to come up and not allowing telnetd-ssl negotiation
From: David Miller @ 2011-01-20  0:27 UTC (permalink / raw)
  To: akpm; +Cc: netdev, jengelh, bugzilla-daemon, bugme-daemon, arthur.marsh
In-Reply-To: <20110119145904.d750d49d.akpm@linux-foundation.org>

From: Andrew Morton <akpm@linux-foundation.org>
Date: Wed, 19 Jan 2011 14:59:04 -0800

> This regression was bisected to
> 
> 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf is the first bad commit
> commit 0ab03c2b1478f2438d2c80204f7fef65b1bca9cf
> Author: Jan Engelhardt <jengelh@medozas.de>
> Date:   Fri Jan 7 03:15:05 2011 +0000
> 
>     netlink: test for all flags of the NLM_F_DUMP composite

Which is being reverted.

^ permalink raw reply

* Re: [PATCH 00/79] netfilter: netfilter update
From: David Miller @ 2011-01-20  0:50 UTC (permalink / raw)
  To: kaber; +Cc: netfilter-devel, netdev
In-Reply-To: <20110119.135504.149816150.davem@davemloft.net>

From: David Miller <davem@davemloft.net>
Date: Wed, 19 Jan 2011 13:55:04 -0800 (PST)

> From: kaber@trash.net
> Date: Wed, 19 Jan 2011 20:14:00 +0100
> 
>> Please pull from
>> 
>> git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6.git master
> 
> Pulled, thanks.

I'm undoing my pull, what was this build tested against?
In particular this commit breaks the build:

Subject: [PATCH 68/79] netfilter: xtables: add missing header files to export list

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
 ...
@@ -56,6 +56,8 @@ header-y += xt_rateest.h
 header-y += xt_realm.h
 header-y += xt_recent.h
 header-y += xt_sctp.h
+header-y += xt_secmark.h
+header-y += xt_socket.h
 header-y += xt_state.h
 header-y += xt_statistic.h
 header-y += xt_string.h

No active tree has a include/linux/netfilter/xt_secmark.h file.  Therefore
we end up with:

make[2]: `scripts/unifdef' is up to date.
make[4]: *** No rule to make target `/home/davem/src/GIT/net-next-2.6/include/linux/netfilter/xt_secmark.h', needed by `/home/davem/src/GIT/net-next-2.6/usr/include/linux/netfilter/.install'.  Stop.

Did you mean xt_SECMARK.h (caps)?

Please fix this up and resubmit your pull request, thanks.

^ permalink raw reply

* Re: [PATCH-v2] sctp: user perfect name for Delayed SACK Timer option
From: David Miller @ 2011-01-20  0:51 UTC (permalink / raw)
  To: vladislav.yasevich; +Cc: shanwei, yjwei, netdev, linux-sctp
In-Reply-To: <4D36E904.4050609@hp.com>

From: Vladislav Yasevich <vladislav.yasevich@hp.com>
Date: Wed, 19 Jan 2011 08:37:08 -0500

> On 01/19/2011 03:39 AM, Shan Wei wrote:
>> The option name of Delayed SACK Timer should be SCTP_DELAYED_SACK,
>> not SCTP_DELAYED_ACK.
>> 
>> Left SCTP_DELAYED_ACK be concomitant with SCTP_DELAYED_SACK,
>> for making compatibility with existing applications.
>> 
>> Reference:
>> 8.1.19.  Get or Set Delayed SACK Timer (SCTP_DELAYED_SACK)
>> (http://tools.ietf.org/html/draft-ietf-tsvwg-sctpsocket-25)
>> 
> 
> this one much better.
> 
> Acked-by: Vlad Yasevich <vladislav.yasevich@hp.com>

Applied, thanks.

^ permalink raw reply

* Re: [PATCH 1/4] vxge: cleanup probe error paths
From: David Miller @ 2011-01-20  0:53 UTC (permalink / raw)
  To: jon.mason; +Cc: netdev, sivakumar.subramani, sreenivasa.honnur, ram.vepa
In-Reply-To: <1295398942-4131-1-git-send-email-jon.mason@exar.com>


These patches are a mixture of cleanups, feature additions,
and bug fixes.

Sort it out so I can apply them to the appropriate tree.

If you want them all to go to net-next-2.6, I'm OK with that
too but you have to state so explicitly when you submit patch
sets.

Thanks.

^ permalink raw reply

* Re: [PATCH 00/79] netfilter: netfilter update
From: Jan Engelhardt @ 2011-01-20  0:59 UTC (permalink / raw)
  To: David Miller; +Cc: kaber, netfilter-devel, netdev
In-Reply-To: <20110119.165045.25148392.davem@davemloft.net>


On Thursday 2011-01-20 01:50, David Miller wrote:
>> 
>>> Please pull from
>>> 
>>> git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6.git master
>> 
>> Pulled, thanks.
>
>I'm undoing my pull, what was this build tested against?
>In particular this commit breaks the build:
>
>Subject: [PATCH 68/79] netfilter: xtables: add missing header files to export list
>
>Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
> ...
>@@ -56,6 +56,8 @@ header-y += xt_rateest.h
> header-y += xt_realm.h
> header-y += xt_recent.h
> header-y += xt_sctp.h
>+header-y += xt_secmark.h
>+header-y += xt_socket.h
> header-y += xt_state.h
> header-y += xt_statistic.h
> header-y += xt_string.h
>
>No active tree has a include/linux/netfilter/xt_secmark.h file.  Therefore
>we end up with:
>
>make[2]: `scripts/unifdef' is up to date.
>make[4]: *** No rule to make target `/home/davem/src/GIT/net-next-2.6/include/linux/netfilter/xt_secmark.h', needed by `/home/davem/src/GIT/net-next-2.6/usr/include/linux/netfilter/.install'.  Stop.
>
>Did you mean xt_SECMARK.h (caps)?

My git was weak there. The lower-case secmark line should just be removed.

^ permalink raw reply

* Re: [PATCH 00/79] netfilter: netfilter update
From: Patrick McHardy @ 2011-01-20  1:13 UTC (permalink / raw)
  To: David Miller; +Cc: netfilter-devel, netdev, Jan Engelhardt
In-Reply-To: <20110119.165045.25148392.davem@davemloft.net>

On 20.01.2011 01:50, David Miller wrote:
> I'm undoing my pull, what was this build tested against?

My build tests didn't include header-install. No idea what Jan
tested against.

> In particular this commit breaks the build:
> 
> Subject: [PATCH 68/79] netfilter: xtables: add missing header files to export list
> 
> Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
>  ...
> @@ -56,6 +56,8 @@ header-y += xt_rateest.h
>  header-y += xt_realm.h
>  header-y += xt_recent.h
>  header-y += xt_sctp.h
> +header-y += xt_secmark.h
> +header-y += xt_socket.h
>  header-y += xt_state.h
>  header-y += xt_statistic.h
>  header-y += xt_string.h
> 
> No active tree has a include/linux/netfilter/xt_secmark.h file.  Therefore
> we end up with:
> 
> make[2]: `scripts/unifdef' is up to date.
> make[4]: *** No rule to make target `/home/davem/src/GIT/net-next-2.6/include/linux/netfilter/xt_secmark.h', needed by `/home/davem/src/GIT/net-next-2.6/usr/include/linux/netfilter/.install'.  Stop.
> 
> Did you mean xt_SECMARK.h (caps)?

I guess so. Jan, please fix this up.

^ permalink raw reply

* [PATCH net-2.6] cxgb4: fix reported state of interfaces without link
From: Dimitris Michailidis @ 2011-01-20  1:29 UTC (permalink / raw)
  To: netdev

Currently tools like ip and ifconfig report incorrect state for cxgb4
interfaces that are up but do not have link and do so until first link
establishment.  This is because the initial netif_carrier_off call is
before register_netdev and it needs to be after to be fully effective.
Fix this by moving netif_carrier_off into .ndo_open.

Signed-off-by: Dimitris Michailidis <dm@chelsio.com>
---
 drivers/net/cxgb4/cxgb4_main.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/drivers/net/cxgb4/cxgb4_main.c b/drivers/net/cxgb4/cxgb4_main.c
index 059c1ee..ec35d45 100644
--- a/drivers/net/cxgb4/cxgb4_main.c
+++ b/drivers/net/cxgb4/cxgb4_main.c
@@ -2710,6 +2710,8 @@ static int cxgb_open(struct net_device *dev)
 	struct port_info *pi = netdev_priv(dev);
 	struct adapter *adapter = pi->adapter;
 
+	netif_carrier_off(dev);
+
 	if (!(adapter->flags & FULL_INIT_DONE)) {
 		err = cxgb_up(adapter);
 		if (err < 0)
@@ -3661,7 +3663,6 @@ static int __devinit init_one(struct pci_dev *pdev,
 		pi->xact_addr_filt = -1;
 		pi->rx_offload = RX_CSO;
 		pi->port_id = i;
-		netif_carrier_off(netdev);
 		netdev->irq = pdev->irq;
 
 		netdev->features |= NETIF_F_SG | TSO_FLAGS;
-- 
1.7.3.4


^ permalink raw reply related

* Re: [PATCH 00/79] netfilter: netfilter update
From: Jan Engelhardt @ 2011-01-20  1:36 UTC (permalink / raw)
  To: Patrick McHardy; +Cc: David Miller, netfilter-devel, netdev
In-Reply-To: <4D378C3B.1020202@trash.net>


On Thursday 2011-01-20 02:13, Patrick McHardy wrote:
>> +header-y += xt_secmark.h
>> 
>> No active tree has a include/linux/netfilter/xt_secmark.h file.  Therefore
>> we end up with:
>> 
>> Did you mean xt_SECMARK.h (caps)?
>
>I guess so. Jan, please fix this up.

parent f5c88f56b35599ab9ff2d3398e0153e4cd4a4c82 (v2.6.37-3820-gf5c88f5)
commit 51c7fc9e4e086e4a145617945fdda92a8ae0290f
Author: Jan Engelhardt <jengelh@medozas.de>
Date:   Thu Jan 20 02:34:48 2011 +0100

netfilter: xtables: remove extraneous header that slipped in

Commit 0b8ad876275c74e4bfb6ec3150793f3c0ecfcee2 erroneously added
this.

Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
---
 include/linux/netfilter/Kbuild |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/include/linux/netfilter/Kbuild b/include/linux/netfilter/Kbuild
index fc4e0aa..89c0d1e 100644
--- a/include/linux/netfilter/Kbuild
+++ b/include/linux/netfilter/Kbuild
@@ -56,7 +56,6 @@ header-y += xt_rateest.h
 header-y += xt_realm.h
 header-y += xt_recent.h
 header-y += xt_sctp.h
-header-y += xt_secmark.h
 header-y += xt_socket.h
 header-y += xt_state.h
 header-y += xt_statistic.h
-- 
# Created with git-export-patch

^ permalink raw reply related

* [GIT] Networking
From: David Miller @ 2011-01-20  2:04 UTC (permalink / raw)
  To: torvalds; +Cc: akpm, netdev, linux-kernel


1) Revert a netlink flag sanity check that is causing regressions in
   existing applications.

2) can_checksum_protocol() args were swapped, causing broken ipv6
   checksum handling with devices that cannot offload ipv6 checksums.
   Regression fix from Eric Dumazet.

3) CAN protocol sendmsg() doesn't validate sockaddr size, fix from
   Kurt Van Dijck.

4) Name space creation spams logs with useless ipv6 private extension
   messages, fix from Romain Francoise.

5) sctp SACK timer socket option is not properly named, but since it's
   been wrong for a long time provide a back-compat cpp define as well
   so we don't break existing apps.  Fix from Shan Wei.

6) NETIF_F_HW_VLAN_TX accidently masked out in network device offloading
   feature tests, regression fix from Jesse Gross.

7) iwmc3200wifi accidently returns ERR_PTR(0) on allocation failures,
   fix from Axel Lin.

8) rt2x00 leaks memory in firmware request error path, from Jesper Juhl.

9) Make IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK definition match spec, from
   Amitkumar Karwar.

10) Fix erroneous lockdep warnings in mac80211, from Johannes Berg.

11) In mac80211 aggregate code, handle black ack parameter of zero correctly,
    which means we should use maximum supported number of sub-frames.  Fix
    from Luciano Coelho.

12) Missing allocation failure checks in batman-adv meshing code, fix from
    Jesper Juhl.

13) TX checksumming bug fix in qeth from Frank Blaschka.

14) Fix error checking in cfcnfg_disconn_adapt_layer() CAIF protocol
    code, from Dan Carpenter.

15) vmxnet driver bug fixes from Shreyas Bhatewara, Guolin Yang,
    Matthieu Bucchianeri, and Dmitry Torokhov:
    1) Wrong variable used in ring size updates.
    2) ifconfig set MAC address setting gets lost
    3) NAPI needs to be disabled/enabled across suspend/resume.
    4) Command register access needs locking
    5) Too many MSI-X vectors allocated in single TX single RX queue case

16) Endianness fixes in ath9k_htc driver from Rajkumar Manoharan.

17) tx_complete_poll_work locking fix in ath5k driver from Bob Copeland.

18) iwlwifi EEPROM reading fix from Wey-Yi Guy.

19) LED, microcode loading, and duplex setting fixes for bnx2x from
    Yaniv Rosner and Eilon Greenstein.

20) ns83820 driver checks wrong pointer for NULL after alloc_etherdev(),
    fix from Jesper Juhl.

Please pull, thanks a lot!

The following changes since commit c56eb8fb6dccb83d9fe62fd4dc00c834de9bc470:

  Linux 2.6.38-rc1 (2011-01-18 15:14:02 -0800)

are available in the git repository at:
  master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6.git master

Alexey Orishko (1):
      USB CDC NCM: tx_fixup() race condition fix

Amitkumar Karwar (1):
      ieee80211: correct IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK macro

Anton Vorontsov (1):
      gianfar: Fix misleading indentation in startup_gfar()

Axel Lin (1):
      iwmc3200wifi: Return proper error for iwm_if_alloc

Bob Copeland (1):
      ath5k: fix locking in tx_complete_poll_work

Dan Carpenter (1):
      caif: checking the wrong variable

David S. Miller (3):
      Merge branch 'for-david' of git://git.open-mesh.org/ecsv/linux-merge
      Merge branch 'master' of git://git.kernel.org/.../linville/wireless-2.6
      Revert "netlink: test for all flags of the NLM_F_DUMP composite"

Eric Dumazet (1):
      net: fix can_checksum_protocol() arguments swap

Frank Blaschka (1):
      qeth: l3 hw tx csum circumvent hw bug

Jesper Juhl (3):
      rt2x00: Don't leak mem in error path of rt2x00lib_request_firmware()
      batman-adv: Even Batman should not dereference NULL pointers
      ns83820: Avoid bad pointer deref in ns83820_init_one().

Jesse Gross (1):
      net offloading: Do not mask out NETIF_F_HW_VLAN_TX for vlan.

Johannes Berg (1):
      mac80211: fix lockdep warning

Kuninori Morimoto (1):
      net/irda/sh_irda: return to RX mode when TX error

Kurt Van Dijck (1):
      can: test size of struct sockaddr in sendmsg

Luciano Coelho (1):
      mac80211: use maximum number of AMPDU frames as default in BA RX

Luis R. Rodriguez (1):
      ath9k_hw: ASPM interoperability fix for AR9380/AR9382

Rajkumar Manoharan (2):
      ath9k_htc: Fix endian issue in tx header
      ath9k_hw: do PA offset calibration only on longcal interval

Romain Francoise (1):
      ipv6: Silence privacy extensions initialization

Shan Wei (1):
      sctp: user perfect name for Delayed SACK Timer option

Shreyas Bhatewara (8):
      vmxnet3: fix ring size update
      vmxnet3: Preserve the MAC address configured by ifconfig
      vmxnet3: Enable HW Rx VLAN stripping by default
      vmxnet3: Provide required number of bytes in first SG buffer
      vmxnet3: Make ethtool handlers multiqueue aware
      vmxnet3: Disable napi in suspend, reenable in resume.
      vmxnet3: Add locking for access to command register
      vmxnet3: Dont allocate extra MSI-x vectors

Sven Eckelmann (1):
      batman-adv: Use "__attribute__" shortcut macros

Ursula Braun (1):
      qeth: postpone open till recovery is finished

Wey-Yi Guy (1):
      iwlwifi: fix valid chain reading from EEPROM

Yaniv Rosner (8):
      bnx2x: Swap BCM8073 PHY polarity if required
      bnx2x: Common init will be executed only once after POR
      bnx2x: LED fix for BCM8727 over BCM57712
      bnx2x: Fix BCM8073/BCM8727 microcode loading
      bnx2x: Mark full duplex on some external PHYs
      bnx2x: Fix BCM84823 LED behavior
      bnx2x: Fix AER setting for BCM57712
      bnx2x: Update bnx2x version to 1.62.00-4

 drivers/net/bnx2x/bnx2x.h                          |    4 +-
 drivers/net/bnx2x/bnx2x_hsi.h                      |    4 +
 drivers/net/bnx2x/bnx2x_link.c                     |  173 ++++++++++---
 drivers/net/bnx2x/bnx2x_reg.h                      |    4 +
 drivers/net/gianfar.c                              |    2 +-
 drivers/net/irda/sh_irda.c                         |   14 +-
 drivers/net/ns83820.c                              |    5 +-
 drivers/net/usb/cdc_ncm.c                          |   19 +-
 drivers/net/vmxnet3/vmxnet3_drv.c                  |   93 +++++---
 drivers/net/vmxnet3/vmxnet3_ethtool.c              |  274 ++++++++++++--------
 drivers/net/vmxnet3/vmxnet3_int.h                  |    7 +-
 drivers/net/wireless/ath/ath5k/base.c              |    4 +
 drivers/net/wireless/ath/ath9k/ar9002_calib.c      |   10 +-
 .../net/wireless/ath/ath9k/ar9003_2p2_initvals.h   |    2 +-
 drivers/net/wireless/ath/ath9k/ar9003_hw.c         |    4 +-
 drivers/net/wireless/ath/ath9k/htc.h               |    2 +-
 drivers/net/wireless/ath/ath9k/htc_drv_txrx.c      |    8 +-
 drivers/net/wireless/iwlwifi/iwl-agn-eeprom.c      |    2 +-
 drivers/net/wireless/iwmc3200wifi/netdev.c         |    2 +
 drivers/net/wireless/rt2x00/rt2x00firmware.c       |    1 +
 drivers/s390/net/qeth_l2_main.c                    |   18 ++-
 drivers/s390/net/qeth_l3_main.c                    |   22 ++-
 include/linux/ieee80211.h                          |    2 +-
 include/net/sctp/user.h                            |    1 +
 net/batman-adv/main.h                              |    6 +-
 net/batman-adv/packet.h                            |   14 +-
 net/batman-adv/types.h                             |    4 +-
 net/batman-adv/unicast.c                           |    6 +-
 net/caif/cfcnfg.c                                  |    9 +-
 net/can/bcm.c                                      |    3 +
 net/can/raw.c                                      |    3 +
 net/core/dev.c                                     |    6 +-
 net/core/rtnetlink.c                               |    2 +-
 net/ipv4/inet_diag.c                               |    2 +-
 net/ipv6/addrconf.c                                |    3 -
 net/mac80211/agg-rx.c                              |   11 +-
 net/mac80211/main.c                                |   12 +-
 net/netfilter/nf_conntrack_netlink.c               |    4 +-
 net/netlink/genetlink.c                            |    2 +-
 net/sctp/socket.c                                  |    4 +-
 net/xfrm/xfrm_user.c                               |    2 +-
 41 files changed, 512 insertions(+), 258 deletions(-)

^ permalink raw reply

* Re: Bug#609538: r8169: long delay during resume
From: Daniel J Blueman @ 2011-01-20  3:04 UTC (permalink / raw)
  To: 609538; +Cc: Francois Romieu, netdev, Hayes Wang

When resuming from suspended with 2.6.38-rc1 with my RTL8168d/8111d
hardware, I see significant delays [1].

The only firmware I see in /lib/firmware is RTL8192E, thus it looks
like this is due to it being not present.

I see that Francois' patch is present in 2.6.38-rc1; is there a way to
avoid this delay, or is this likely in request_firmware?

Thanks,
  Daniel

--- [1]

[21786.797521] sdhci-pci 0000:09:00.0: Will use DMA mode even though
HW doesn't fully claim to support it.
[21786.797530] sdhci-pci 0000:09:00.0: setting latency timer to 64
[21847.280237] r8169 0000:0b:00.0: eth0: unable to apply firmware patch
[21847.283688] PM: resume of devices complete after 61090.398 msecs
[21848.934980] Synaptics Touchpad, model: 1, fw: 7.2, id: 0x1c0b1,
caps: 0xd04733/0xa40000/0xa0000
[21848.980306] input: SynPS/2 Synaptics TouchPad as
/devices/platform/i8042/serio1/input/input12
[21850.886820] PM: Finishing wakeup.
[21850.888808] Restarting tasks ... done.
[21851.384291] r8169 0000:0b:00.0: eth0: unable to apply firmware patch
[21851.386090] r8169 0000:0b:00.0: eth0: link down
[21853.324784] EXT4-fs (sda1): re-mounted. Opts: commit=0
-- 
Daniel J Blueman

^ permalink raw reply

* Re: Bug#609538: r8169: long delay during resume
From: Ben Hutchings @ 2011-01-20  3:20 UTC (permalink / raw)
  To: Daniel J Blueman, 609538; +Cc: Francois Romieu, netdev, Hayes Wang
In-Reply-To: <AANLkTikxpOS2fJ1Sqv=Lg6cX1TE+1W-ZxFV+YMOH1+Yp@mail.gmail.com>

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

On Thu, 2011-01-20 at 10:04 +0700, Daniel J Blueman wrote:
> When resuming from suspended with 2.6.38-rc1 with my RTL8168d/8111d
> hardware, I see significant delays [1].
> 
> The only firmware I see in /lib/firmware is RTL8192E, thus it looks
> like this is due to it being not present.

If you're using Debian, the necessary blob is in the firmware-realtek
package.

> I see that Francois' patch is present in 2.6.38-rc1; is there a way to
> avoid this delay, or is this likely in request_firmware?
[...]

It's a known problem with calls to request_firmware() when userland is
not running (early initialisation or resume from sleep).  It may be
fixable.

Ben.

-- 
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply

* Re: [PATCH 1/4] vxge: cleanup probe error paths
From: Jon Mason @ 2011-01-20  4:42 UTC (permalink / raw)
  To: David Miller
  Cc: netdev@vger.kernel.org, Sivakumar Subramani, Sreenivasa Honnur,
	Ramkrishna Vepa
In-Reply-To: <20110119.165316.209979838.davem@davemloft.net>

On Wed, Jan 19, 2011 at 04:53:16PM -0800, David Miller wrote:
> 
> These patches are a mixture of cleanups, feature additions,
> and bug fixes.
> 
> Sort it out so I can apply them to the appropriate tree.
> 
> If you want them all to go to net-next-2.6, I'm OK with that
> too but you have to state so explicitly when you submit patch
> sets.

My apologies for not specifying, please include this only in the
net-next-2.6 tree.

Thanks,
Jon

> 
> Thanks.

^ permalink raw reply

* [PATCH net-next-2.6] net_sched: cleanups
From: Eric Dumazet @ 2011-01-20  5:26 UTC (permalink / raw)
  To: David Miller; +Cc: netdev

Cleanup net/sched code to current CodingStyle and practices.

Reduce inline abuse

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
---
 net/sched/act_api.c     |   46 ++--
 net/sched/act_csum.c    |    2 
 net/sched/act_gact.c    |    8 
 net/sched/act_ipt.c     |   16 -
 net/sched/act_mirred.c  |    4 
 net/sched/act_nat.c     |    2 
 net/sched/act_pedit.c   |   10 -
 net/sched/act_police.c  |    9 
 net/sched/act_simple.c  |   10 -
 net/sched/act_skbedit.c |    8 
 net/sched/cls_api.c     |   33 ++-
 net/sched/cls_basic.c   |   17 -
 net/sched/cls_cgroup.c  |    8 
 net/sched/cls_flow.c    |    4 
 net/sched/cls_fw.c      |   38 +---
 net/sched/cls_route.c   |  126 +++++++------
 net/sched/cls_rsvp.h    |   95 +++++-----
 net/sched/cls_tcindex.c |    2 
 net/sched/cls_u32.c     |   77 ++++----
 net/sched/em_cmp.c      |   47 ++--
 net/sched/em_meta.c     |   42 +---
 net/sched/em_nbyte.c    |    3 
 net/sched/em_text.c     |    3 
 net/sched/em_u32.c      |    2 
 net/sched/ematch.c      |   37 ++-
 net/sched/sch_api.c     |  137 ++++++++------
 net/sched/sch_atm.c     |   16 -
 net/sched/sch_cbq.c     |  358 +++++++++++++++++++-------------------
 net/sched/sch_dsmark.c  |   21 +-
 net/sched/sch_fifo.c    |    9 
 net/sched/sch_generic.c |   29 +--
 net/sched/sch_gred.c    |   85 ++++-----
 net/sched/sch_hfsc.c    |   35 +--
 net/sched/sch_htb.c     |  104 ++++++-----
 net/sched/sch_multiq.c  |    8 
 net/sched/sch_netem.c   |    6 
 net/sched/sch_prio.c    |   34 +--
 net/sched/sch_red.c     |   61 +++---
 net/sched/sch_sfq.c     |   18 -
 net/sched/sch_tbf.c     |   37 ++-
 net/sched/sch_teql.c    |   36 +--
 41 files changed, 842 insertions(+), 801 deletions(-)

diff --git a/net/sched/act_api.c b/net/sched/act_api.c
index 23b25f8..15873e1 100644
--- a/net/sched/act_api.c
+++ b/net/sched/act_api.c
@@ -78,7 +78,7 @@ static int tcf_dump_walker(struct sk_buff *skb, struct netlink_callback *cb,
 			   struct tc_action *a, struct tcf_hashinfo *hinfo)
 {
 	struct tcf_common *p;
-	int err = 0, index = -1,i = 0, s_i = 0, n_i = 0;
+	int err = 0, index = -1, i = 0, s_i = 0, n_i = 0;
 	struct nlattr *nest;
 
 	read_lock_bh(hinfo->lock);
@@ -126,7 +126,7 @@ static int tcf_del_walker(struct sk_buff *skb, struct tc_action *a,
 {
 	struct tcf_common *p, *s_p;
 	struct nlattr *nest;
-	int i= 0, n_i = 0;
+	int i = 0, n_i = 0;
 
 	nest = nla_nest_start(skb, a->order);
 	if (nest == NULL)
@@ -138,7 +138,7 @@ static int tcf_del_walker(struct sk_buff *skb, struct tc_action *a,
 		while (p != NULL) {
 			s_p = p->tcfc_next;
 			if (ACT_P_DELETED == tcf_hash_release(p, 0, hinfo))
-				 module_put(a->ops->owner);
+				module_put(a->ops->owner);
 			n_i++;
 			p = s_p;
 		}
@@ -447,7 +447,8 @@ tcf_action_dump_1(struct sk_buff *skb, struct tc_action *a, int bind, int ref)
 	nest = nla_nest_start(skb, TCA_OPTIONS);
 	if (nest == NULL)
 		goto nla_put_failure;
-	if ((err = tcf_action_dump_old(skb, a, bind, ref)) > 0) {
+	err = tcf_action_dump_old(skb, a, bind, ref);
+	if (err > 0) {
 		nla_nest_end(skb, nest);
 		return err;
 	}
@@ -491,7 +492,7 @@ struct tc_action *tcf_action_init_1(struct nlattr *nla, struct nlattr *est,
 	struct tc_action *a;
 	struct tc_action_ops *a_o;
 	char act_name[IFNAMSIZ];
-	struct nlattr *tb[TCA_ACT_MAX+1];
+	struct nlattr *tb[TCA_ACT_MAX + 1];
 	struct nlattr *kind;
 	int err;
 
@@ -549,9 +550,9 @@ struct tc_action *tcf_action_init_1(struct nlattr *nla, struct nlattr *est,
 		goto err_free;
 
 	/* module count goes up only when brand new policy is created
-	   if it exists and is only bound to in a_o->init() then
-	   ACT_P_CREATED is not returned (a zero is).
-	*/
+	 * if it exists and is only bound to in a_o->init() then
+	 * ACT_P_CREATED is not returned (a zero is).
+	 */
 	if (err != ACT_P_CREATED)
 		module_put(a_o->owner);
 	a->ops = a_o;
@@ -569,7 +570,7 @@ err_out:
 struct tc_action *tcf_action_init(struct nlattr *nla, struct nlattr *est,
 				  char *name, int ovr, int bind)
 {
-	struct nlattr *tb[TCA_ACT_MAX_PRIO+1];
+	struct nlattr *tb[TCA_ACT_MAX_PRIO + 1];
 	struct tc_action *head = NULL, *act, *act_prev = NULL;
 	int err;
 	int i;
@@ -697,7 +698,7 @@ act_get_notify(struct net *net, u32 pid, struct nlmsghdr *n,
 static struct tc_action *
 tcf_action_get_1(struct nlattr *nla, struct nlmsghdr *n, u32 pid)
 {
-	struct nlattr *tb[TCA_ACT_MAX+1];
+	struct nlattr *tb[TCA_ACT_MAX + 1];
 	struct tc_action *a;
 	int index;
 	int err;
@@ -770,7 +771,7 @@ static int tca_action_flush(struct net *net, struct nlattr *nla,
 	struct tcamsg *t;
 	struct netlink_callback dcb;
 	struct nlattr *nest;
-	struct nlattr *tb[TCA_ACT_MAX+1];
+	struct nlattr *tb[TCA_ACT_MAX + 1];
 	struct nlattr *kind;
 	struct tc_action *a = create_a(0);
 	int err = -ENOMEM;
@@ -821,7 +822,8 @@ static int tca_action_flush(struct net *net, struct nlattr *nla,
 	nlh->nlmsg_flags |= NLM_F_ROOT;
 	module_put(a->ops->owner);
 	kfree(a);
-	err = rtnetlink_send(skb, net, pid, RTNLGRP_TC, n->nlmsg_flags&NLM_F_ECHO);
+	err = rtnetlink_send(skb, net, pid, RTNLGRP_TC,
+			     n->nlmsg_flags & NLM_F_ECHO);
 	if (err > 0)
 		return 0;
 
@@ -842,14 +844,14 @@ tca_action_gd(struct net *net, struct nlattr *nla, struct nlmsghdr *n,
 	      u32 pid, int event)
 {
 	int i, ret;
-	struct nlattr *tb[TCA_ACT_MAX_PRIO+1];
+	struct nlattr *tb[TCA_ACT_MAX_PRIO + 1];
 	struct tc_action *head = NULL, *act, *act_prev = NULL;
 
 	ret = nla_parse_nested(tb, TCA_ACT_MAX_PRIO, nla, NULL);
 	if (ret < 0)
 		return ret;
 
-	if (event == RTM_DELACTION && n->nlmsg_flags&NLM_F_ROOT) {
+	if (event == RTM_DELACTION && n->nlmsg_flags & NLM_F_ROOT) {
 		if (tb[1] != NULL)
 			return tca_action_flush(net, tb[1], n, pid);
 		else
@@ -892,7 +894,7 @@ tca_action_gd(struct net *net, struct nlattr *nla, struct nlmsghdr *n,
 		/* now do the delete */
 		tcf_action_destroy(head, 0);
 		ret = rtnetlink_send(skb, net, pid, RTNLGRP_TC,
-				     n->nlmsg_flags&NLM_F_ECHO);
+				     n->nlmsg_flags & NLM_F_ECHO);
 		if (ret > 0)
 			return 0;
 		return ret;
@@ -936,7 +938,7 @@ static int tcf_add_notify(struct net *net, struct tc_action *a,
 	nlh->nlmsg_len = skb_tail_pointer(skb) - b;
 	NETLINK_CB(skb).dst_group = RTNLGRP_TC;
 
-	err = rtnetlink_send(skb, net, pid, RTNLGRP_TC, flags&NLM_F_ECHO);
+	err = rtnetlink_send(skb, net, pid, RTNLGRP_TC, flags & NLM_F_ECHO);
 	if (err > 0)
 		err = 0;
 	return err;
@@ -967,7 +969,7 @@ tcf_action_add(struct net *net, struct nlattr *nla, struct nlmsghdr *n,
 
 	/* dump then free all the actions after update; inserted policy
 	 * stays intact
-	 * */
+	 */
 	ret = tcf_add_notify(net, act, pid, seq, RTM_NEWACTION, n->nlmsg_flags);
 	for (a = act; a; a = act) {
 		act = a->next;
@@ -993,8 +995,7 @@ static int tc_ctl_action(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
 		return -EINVAL;
 	}
 
-	/* n->nlmsg_flags&NLM_F_CREATE
-	 * */
+	/* n->nlmsg_flags & NLM_F_CREATE */
 	switch (n->nlmsg_type) {
 	case RTM_NEWACTION:
 		/* we are going to assume all other flags
@@ -1003,7 +1004,7 @@ static int tc_ctl_action(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
 		 * but since we want avoid ambiguity (eg when flags
 		 * is zero) then just set this
 		 */
-		if (n->nlmsg_flags&NLM_F_REPLACE)
+		if (n->nlmsg_flags & NLM_F_REPLACE)
 			ovr = 1;
 replay:
 		ret = tcf_action_add(net, tca[TCA_ACT_TAB], n, pid, ovr);
@@ -1028,7 +1029,7 @@ replay:
 static struct nlattr *
 find_dump_kind(const struct nlmsghdr *n)
 {
-	struct nlattr *tb1, *tb2[TCA_ACT_MAX+1];
+	struct nlattr *tb1, *tb2[TCA_ACT_MAX + 1];
 	struct nlattr *tb[TCA_ACT_MAX_PRIO + 1];
 	struct nlattr *nla[TCAA_MAX + 1];
 	struct nlattr *kind;
@@ -1071,9 +1072,8 @@ tc_dump_action(struct sk_buff *skb, struct netlink_callback *cb)
 	}
 
 	a_o = tc_lookup_action(kind);
-	if (a_o == NULL) {
+	if (a_o == NULL)
 		return 0;
-	}
 
 	memset(&a, 0, sizeof(struct tc_action));
 	a.ops = a_o;
diff --git a/net/sched/act_csum.c b/net/sched/act_csum.c
index 83ddfc0..6cdf9ab 100644
--- a/net/sched/act_csum.c
+++ b/net/sched/act_csum.c
@@ -63,7 +63,7 @@ static int tcf_csum_init(struct nlattr *nla, struct nlattr *est,
 	if (nla == NULL)
 		return -EINVAL;
 
-	err = nla_parse_nested(tb, TCA_CSUM_MAX, nla,csum_policy);
+	err = nla_parse_nested(tb, TCA_CSUM_MAX, nla, csum_policy);
 	if (err < 0)
 		return err;
 
diff --git a/net/sched/act_gact.c b/net/sched/act_gact.c
index c2ed90a..2b4ab4b 100644
--- a/net/sched/act_gact.c
+++ b/net/sched/act_gact.c
@@ -50,7 +50,7 @@ static int gact_determ(struct tcf_gact *gact)
 }
 
 typedef int (*g_rand)(struct tcf_gact *gact);
-static g_rand gact_rand[MAX_RAND]= { NULL, gact_net_rand, gact_determ };
+static g_rand gact_rand[MAX_RAND] = { NULL, gact_net_rand, gact_determ };
 #endif /* CONFIG_GACT_PROB */
 
 static const struct nla_policy gact_policy[TCA_GACT_MAX + 1] = {
@@ -89,7 +89,7 @@ static int tcf_gact_init(struct nlattr *nla, struct nlattr *est,
 		pc = tcf_hash_create(parm->index, est, a, sizeof(*gact),
 				     bind, &gact_idx_gen, &gact_hash_info);
 		if (IS_ERR(pc))
-		    return PTR_ERR(pc);
+			return PTR_ERR(pc);
 		ret = ACT_P_CREATED;
 	} else {
 		if (!ovr) {
@@ -205,9 +205,9 @@ MODULE_LICENSE("GPL");
 static int __init gact_init_module(void)
 {
 #ifdef CONFIG_GACT_PROB
-	printk(KERN_INFO "GACT probability on\n");
+	pr_info("GACT probability on\n");
 #else
-	printk(KERN_INFO "GACT probability NOT on\n");
+	pr_info("GACT probability NOT on\n");
 #endif
 	return tcf_register_action(&act_gact_ops);
 }
diff --git a/net/sched/act_ipt.c b/net/sched/act_ipt.c
index c2a7c20..9fc211a 100644
--- a/net/sched/act_ipt.c
+++ b/net/sched/act_ipt.c
@@ -138,7 +138,7 @@ static int tcf_ipt_init(struct nlattr *nla, struct nlattr *est,
 		pc = tcf_hash_create(index, est, a, sizeof(*ipt), bind,
 				     &ipt_idx_gen, &ipt_hash_info);
 		if (IS_ERR(pc))
-		    return PTR_ERR(pc);
+			return PTR_ERR(pc);
 		ret = ACT_P_CREATED;
 	} else {
 		if (!ovr) {
@@ -162,7 +162,8 @@ static int tcf_ipt_init(struct nlattr *nla, struct nlattr *est,
 	if (unlikely(!t))
 		goto err2;
 
-	if ((err = ipt_init_target(t, tname, hook)) < 0)
+	err = ipt_init_target(t, tname, hook);
+	if (err < 0)
 		goto err3;
 
 	spin_lock_bh(&ipt->tcf_lock);
@@ -212,8 +213,9 @@ static int tcf_ipt(struct sk_buff *skb, struct tc_action *a,
 	bstats_update(&ipt->tcf_bstats, skb);
 
 	/* yes, we have to worry about both in and out dev
-	 worry later - danger - this API seems to have changed
-	 from earlier kernels */
+	 * worry later - danger - this API seems to have changed
+	 * from earlier kernels
+	 */
 	par.in       = skb->dev;
 	par.out      = NULL;
 	par.hooknum  = ipt->tcfi_hook;
@@ -253,9 +255,9 @@ static int tcf_ipt_dump(struct sk_buff *skb, struct tc_action *a, int bind, int
 	struct tc_cnt c;
 
 	/* for simple targets kernel size == user size
-	** user name = target name
-	** for foolproof you need to not assume this
-	*/
+	 * user name = target name
+	 * for foolproof you need to not assume this
+	 */
 
 	t = kmemdup(ipt->tcfi_t, ipt->tcfi_t->u.user.target_size, GFP_ATOMIC);
 	if (unlikely(!t))
diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c
index d765067..961386e 100644
--- a/net/sched/act_mirred.c
+++ b/net/sched/act_mirred.c
@@ -41,13 +41,13 @@ static struct tcf_hashinfo mirred_hash_info = {
 	.lock	=	&mirred_lock,
 };
 
-static inline int tcf_mirred_release(struct tcf_mirred *m, int bind)
+static int tcf_mirred_release(struct tcf_mirred *m, int bind)
 {
 	if (m) {
 		if (bind)
 			m->tcf_bindcnt--;
 		m->tcf_refcnt--;
-		if(!m->tcf_bindcnt && m->tcf_refcnt <= 0) {
+		if (!m->tcf_bindcnt && m->tcf_refcnt <= 0) {
 			list_del(&m->tcfm_list);
 			if (m->tcfm_dev)
 				dev_put(m->tcfm_dev);
diff --git a/net/sched/act_nat.c b/net/sched/act_nat.c
index 178a4bd..762b027 100644
--- a/net/sched/act_nat.c
+++ b/net/sched/act_nat.c
@@ -69,7 +69,7 @@ static int tcf_nat_init(struct nlattr *nla, struct nlattr *est,
 		pc = tcf_hash_create(parm->index, est, a, sizeof(*p), bind,
 				     &nat_idx_gen, &nat_hash_info);
 		if (IS_ERR(pc))
-		    return PTR_ERR(pc);
+			return PTR_ERR(pc);
 		p = to_tcf_nat(pc);
 		ret = ACT_P_CREATED;
 	} else {
diff --git a/net/sched/act_pedit.c b/net/sched/act_pedit.c
index 445bef7..50c7c06 100644
--- a/net/sched/act_pedit.c
+++ b/net/sched/act_pedit.c
@@ -70,7 +70,7 @@ static int tcf_pedit_init(struct nlattr *nla, struct nlattr *est,
 		pc = tcf_hash_create(parm->index, est, a, sizeof(*p), bind,
 				     &pedit_idx_gen, &pedit_hash_info);
 		if (IS_ERR(pc))
-		    return PTR_ERR(pc);
+			return PTR_ERR(pc);
 		p = to_pedit(pc);
 		keys = kmalloc(ksize, GFP_KERNEL);
 		if (keys == NULL) {
@@ -127,11 +127,9 @@ static int tcf_pedit(struct sk_buff *skb, struct tc_action *a,
 	int i, munged = 0;
 	unsigned int off;
 
-	if (skb_cloned(skb)) {
-		if (pskb_expand_head(skb, 0, 0, GFP_ATOMIC)) {
-			return p->tcf_action;
-		}
-	}
+	if (skb_cloned(skb) &&
+	    pskb_expand_head(skb, 0, 0, GFP_ATOMIC))
+		return p->tcf_action;
 
 	off = skb_network_offset(skb);
 
diff --git a/net/sched/act_police.c b/net/sched/act_police.c
index e2f08b1..8a16307 100644
--- a/net/sched/act_police.c
+++ b/net/sched/act_police.c
@@ -22,8 +22,8 @@
 #include <net/act_api.h>
 #include <net/netlink.h>
 
-#define L2T(p,L)   qdisc_l2t((p)->tcfp_R_tab, L)
-#define L2T_P(p,L) qdisc_l2t((p)->tcfp_P_tab, L)
+#define L2T(p, L)   qdisc_l2t((p)->tcfp_R_tab, L)
+#define L2T_P(p, L) qdisc_l2t((p)->tcfp_P_tab, L)
 
 #define POL_TAB_MASK     15
 static struct tcf_common *tcf_police_ht[POL_TAB_MASK + 1];
@@ -37,8 +37,7 @@ static struct tcf_hashinfo police_hash_info = {
 };
 
 /* old policer structure from before tc actions */
-struct tc_police_compat
-{
+struct tc_police_compat {
 	u32			index;
 	int			action;
 	u32			limit;
@@ -139,7 +138,7 @@ static const struct nla_policy police_policy[TCA_POLICE_MAX + 1] = {
 static int tcf_act_police_locate(struct nlattr *nla, struct nlattr *est,
 				 struct tc_action *a, int ovr, int bind)
 {
-	unsigned h;
+	unsigned int h;
 	int ret = 0, err;
 	struct nlattr *tb[TCA_POLICE_MAX + 1];
 	struct tc_police *parm;
diff --git a/net/sched/act_simple.c b/net/sched/act_simple.c
index 7287cff..a34a22d 100644
--- a/net/sched/act_simple.c
+++ b/net/sched/act_simple.c
@@ -47,7 +47,7 @@ static int tcf_simp(struct sk_buff *skb, struct tc_action *a, struct tcf_result
 	/* print policy string followed by _ then packet count
 	 * Example if this was the 3rd packet and the string was "hello"
 	 * then it would look like "hello_3" (without quotes)
-	 **/
+	 */
 	pr_info("simple: %s_%d\n",
 	       (char *)d->tcfd_defdata, d->tcf_bstats.packets);
 	spin_unlock(&d->tcf_lock);
@@ -125,7 +125,7 @@ static int tcf_simp_init(struct nlattr *nla, struct nlattr *est,
 		pc = tcf_hash_create(parm->index, est, a, sizeof(*d), bind,
 				     &simp_idx_gen, &simp_hash_info);
 		if (IS_ERR(pc))
-		    return PTR_ERR(pc);
+			return PTR_ERR(pc);
 
 		d = to_defact(pc);
 		ret = alloc_defdata(d, defdata);
@@ -149,7 +149,7 @@ static int tcf_simp_init(struct nlattr *nla, struct nlattr *est,
 	return ret;
 }
 
-static inline int tcf_simp_cleanup(struct tc_action *a, int bind)
+static int tcf_simp_cleanup(struct tc_action *a, int bind)
 {
 	struct tcf_defact *d = a->priv;
 
@@ -158,8 +158,8 @@ static inline int tcf_simp_cleanup(struct tc_action *a, int bind)
 	return 0;
 }
 
-static inline int tcf_simp_dump(struct sk_buff *skb, struct tc_action *a,
-				int bind, int ref)
+static int tcf_simp_dump(struct sk_buff *skb, struct tc_action *a,
+			 int bind, int ref)
 {
 	unsigned char *b = skb_tail_pointer(skb);
 	struct tcf_defact *d = a->priv;
diff --git a/net/sched/act_skbedit.c b/net/sched/act_skbedit.c
index 836f5fe..5f6f0c7 100644
--- a/net/sched/act_skbedit.c
+++ b/net/sched/act_skbedit.c
@@ -113,7 +113,7 @@ static int tcf_skbedit_init(struct nlattr *nla, struct nlattr *est,
 		pc = tcf_hash_create(parm->index, est, a, sizeof(*d), bind,
 				     &skbedit_idx_gen, &skbedit_hash_info);
 		if (IS_ERR(pc))
-		    return PTR_ERR(pc);
+			return PTR_ERR(pc);
 
 		d = to_skbedit(pc);
 		ret = ACT_P_CREATED;
@@ -144,7 +144,7 @@ static int tcf_skbedit_init(struct nlattr *nla, struct nlattr *est,
 	return ret;
 }
 
-static inline int tcf_skbedit_cleanup(struct tc_action *a, int bind)
+static int tcf_skbedit_cleanup(struct tc_action *a, int bind)
 {
 	struct tcf_skbedit *d = a->priv;
 
@@ -153,8 +153,8 @@ static inline int tcf_skbedit_cleanup(struct tc_action *a, int bind)
 	return 0;
 }
 
-static inline int tcf_skbedit_dump(struct sk_buff *skb, struct tc_action *a,
-				int bind, int ref)
+static int tcf_skbedit_dump(struct sk_buff *skb, struct tc_action *a,
+			    int bind, int ref)
 {
 	unsigned char *b = skb_tail_pointer(skb);
 	struct tcf_skbedit *d = a->priv;
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c
index 5fd0c28..bb2c523 100644
--- a/net/sched/cls_api.c
+++ b/net/sched/cls_api.c
@@ -85,7 +85,7 @@ int unregister_tcf_proto_ops(struct tcf_proto_ops *ops)
 	int rc = -ENOENT;
 
 	write_lock(&cls_mod_lock);
-	for (tp = &tcf_proto_base; (t=*tp) != NULL; tp = &t->next)
+	for (tp = &tcf_proto_base; (t = *tp) != NULL; tp = &t->next)
 		if (t == ops)
 			break;
 
@@ -111,7 +111,7 @@ static inline u32 tcf_auto_prio(struct tcf_proto *tp)
 	u32 first = TC_H_MAKE(0xC0000000U, 0U);
 
 	if (tp)
-		first = tp->prio-1;
+		first = tp->prio - 1;
 
 	return first;
 }
@@ -149,7 +149,8 @@ replay:
 
 	if (prio == 0) {
 		/* If no priority is given, user wants we allocated it. */
-		if (n->nlmsg_type != RTM_NEWTFILTER || !(n->nlmsg_flags&NLM_F_CREATE))
+		if (n->nlmsg_type != RTM_NEWTFILTER ||
+		    !(n->nlmsg_flags & NLM_F_CREATE))
 			return -ENOENT;
 		prio = TC_H_MAKE(0x80000000U, 0U);
 	}
@@ -176,7 +177,8 @@ replay:
 	}
 
 	/* Is it classful? */
-	if ((cops = q->ops->cl_ops) == NULL)
+	cops = q->ops->cl_ops;
+	if (!cops)
 		return -EINVAL;
 
 	if (cops->tcf_chain == NULL)
@@ -196,10 +198,11 @@ replay:
 		goto errout;
 
 	/* Check the chain for existence of proto-tcf with this priority */
-	for (back = chain; (tp=*back) != NULL; back = &tp->next) {
+	for (back = chain; (tp = *back) != NULL; back = &tp->next) {
 		if (tp->prio >= prio) {
 			if (tp->prio == prio) {
-				if (!nprio || (tp->protocol != protocol && protocol))
+				if (!nprio ||
+				    (tp->protocol != protocol && protocol))
 					goto errout;
 			} else
 				tp = NULL;
@@ -216,7 +219,8 @@ replay:
 			goto errout;
 
 		err = -ENOENT;
-		if (n->nlmsg_type != RTM_NEWTFILTER || !(n->nlmsg_flags&NLM_F_CREATE))
+		if (n->nlmsg_type != RTM_NEWTFILTER ||
+		    !(n->nlmsg_flags & NLM_F_CREATE))
 			goto errout;
 
 
@@ -420,7 +424,8 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb)
 
 	if (cb->nlh->nlmsg_len < NLMSG_LENGTH(sizeof(*tcm)))
 		return skb->len;
-	if ((dev = __dev_get_by_index(net, tcm->tcm_ifindex)) == NULL)
+	dev = __dev_get_by_index(net, tcm->tcm_ifindex);
+	if (!dev)
 		return skb->len;
 
 	if (!tcm->tcm_parent)
@@ -429,7 +434,8 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb)
 		q = qdisc_lookup(dev, TC_H_MAJ(tcm->tcm_parent));
 	if (!q)
 		goto out;
-	if ((cops = q->ops->cl_ops) == NULL)
+	cops = q->ops->cl_ops;
+	if (!cops)
 		goto errout;
 	if (cops->tcf_chain == NULL)
 		goto errout;
@@ -444,8 +450,9 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb)
 
 	s_t = cb->args[0];
 
-	for (tp=*chain, t=0; tp; tp = tp->next, t++) {
-		if (t < s_t) continue;
+	for (tp = *chain, t = 0; tp; tp = tp->next, t++) {
+		if (t < s_t)
+			continue;
 		if (TC_H_MAJ(tcm->tcm_info) &&
 		    TC_H_MAJ(tcm->tcm_info) != tp->prio)
 			continue;
@@ -468,10 +475,10 @@ static int tc_dump_tfilter(struct sk_buff *skb, struct netlink_callback *cb)
 		arg.skb = skb;
 		arg.cb = cb;
 		arg.w.stop = 0;
-		arg.w.skip = cb->args[1]-1;
+		arg.w.skip = cb->args[1] - 1;
 		arg.w.count = 0;
 		tp->ops->walk(tp, &arg.w);
-		cb->args[1] = arg.w.count+1;
+		cb->args[1] = arg.w.count + 1;
 		if (arg.w.stop)
 			break;
 	}
diff --git a/net/sched/cls_basic.c b/net/sched/cls_basic.c
index f23d915..8be8872 100644
--- a/net/sched/cls_basic.c
+++ b/net/sched/cls_basic.c
@@ -21,14 +21,12 @@
 #include <net/act_api.h>
 #include <net/pkt_cls.h>
 
-struct basic_head
-{
+struct basic_head {
 	u32			hgenerator;
 	struct list_head	flist;
 };
 
-struct basic_filter
-{
+struct basic_filter {
 	u32			handle;
 	struct tcf_exts		exts;
 	struct tcf_ematch_tree	ematches;
@@ -92,8 +90,7 @@ static int basic_init(struct tcf_proto *tp)
 	return 0;
 }
 
-static inline void basic_delete_filter(struct tcf_proto *tp,
-				       struct basic_filter *f)
+static void basic_delete_filter(struct tcf_proto *tp, struct basic_filter *f)
 {
 	tcf_unbind_filter(tp, &f->res);
 	tcf_exts_destroy(tp, &f->exts);
@@ -135,9 +132,9 @@ static const struct nla_policy basic_policy[TCA_BASIC_MAX + 1] = {
 	[TCA_BASIC_EMATCHES]	= { .type = NLA_NESTED },
 };
 
-static inline int basic_set_parms(struct tcf_proto *tp, struct basic_filter *f,
-				  unsigned long base, struct nlattr **tb,
-				  struct nlattr *est)
+static int basic_set_parms(struct tcf_proto *tp, struct basic_filter *f,
+			   unsigned long base, struct nlattr **tb,
+			   struct nlattr *est)
 {
 	int err = -EINVAL;
 	struct tcf_exts e;
@@ -203,7 +200,7 @@ static int basic_change(struct tcf_proto *tp, unsigned long base, u32 handle,
 		} while (--i > 0 && basic_get(tp, head->hgenerator));
 
 		if (i <= 0) {
-			printk(KERN_ERR "Insufficient number of handles\n");
+			pr_err("Insufficient number of handles\n");
 			goto errout;
 		}
 
diff --git a/net/sched/cls_cgroup.c b/net/sched/cls_cgroup.c
index d49c40f..32a3351 100644
--- a/net/sched/cls_cgroup.c
+++ b/net/sched/cls_cgroup.c
@@ -56,7 +56,8 @@ static struct cgroup_subsys_state *cgrp_create(struct cgroup_subsys *ss,
 {
 	struct cgroup_cls_state *cs;
 
-	if (!(cs = kzalloc(sizeof(*cs), GFP_KERNEL)))
+	cs = kzalloc(sizeof(*cs), GFP_KERNEL);
+	if (!cs)
 		return ERR_PTR(-ENOMEM);
 
 	if (cgrp->parent)
@@ -94,8 +95,7 @@ static int cgrp_populate(struct cgroup_subsys *ss, struct cgroup *cgrp)
 	return cgroup_add_files(cgrp, ss, ss_files, ARRAY_SIZE(ss_files));
 }
 
-struct cls_cgroup_head
-{
+struct cls_cgroup_head {
 	u32			handle;
 	struct tcf_exts		exts;
 	struct tcf_ematch_tree	ematches;
@@ -166,7 +166,7 @@ static int cls_cgroup_change(struct tcf_proto *tp, unsigned long base,
 			     u32 handle, struct nlattr **tca,
 			     unsigned long *arg)
 {
-	struct nlattr *tb[TCA_CGROUP_MAX+1];
+	struct nlattr *tb[TCA_CGROUP_MAX + 1];
 	struct cls_cgroup_head *head = tp->root;
 	struct tcf_ematch_tree t;
 	struct tcf_exts e;
diff --git a/net/sched/cls_flow.c b/net/sched/cls_flow.c
index 5b271a1..5eec16e 100644
--- a/net/sched/cls_flow.c
+++ b/net/sched/cls_flow.c
@@ -121,7 +121,7 @@ static u32 flow_get_proto_src(struct sk_buff *skb)
 		if (!pskb_network_may_pull(skb, sizeof(*iph)))
 			break;
 		iph = ip_hdr(skb);
-		if (iph->frag_off & htons(IP_MF|IP_OFFSET))
+		if (iph->frag_off & htons(IP_MF | IP_OFFSET))
 			break;
 		poff = proto_ports_offset(iph->protocol);
 		if (poff >= 0 &&
@@ -163,7 +163,7 @@ static u32 flow_get_proto_dst(struct sk_buff *skb)
 		if (!pskb_network_may_pull(skb, sizeof(*iph)))
 			break;
 		iph = ip_hdr(skb);
-		if (iph->frag_off & htons(IP_MF|IP_OFFSET))
+		if (iph->frag_off & htons(IP_MF | IP_OFFSET))
 			break;
 		poff = proto_ports_offset(iph->protocol);
 		if (poff >= 0 &&
diff --git a/net/sched/cls_fw.c b/net/sched/cls_fw.c
index 93b0a7b..26e7bc4 100644
--- a/net/sched/cls_fw.c
+++ b/net/sched/cls_fw.c
@@ -31,14 +31,12 @@
 
 #define HTSIZE (PAGE_SIZE/sizeof(struct fw_filter *))
 
-struct fw_head
-{
+struct fw_head {
 	struct fw_filter *ht[HTSIZE];
 	u32 mask;
 };
 
-struct fw_filter
-{
+struct fw_filter {
 	struct fw_filter	*next;
 	u32			id;
 	struct tcf_result	res;
@@ -53,7 +51,7 @@ static const struct tcf_ext_map fw_ext_map = {
 	.police = TCA_FW_POLICE
 };
 
-static __inline__ int fw_hash(u32 handle)
+static inline int fw_hash(u32 handle)
 {
 	if (HTSIZE == 4096)
 		return ((handle >> 24) & 0xFFF) ^
@@ -82,14 +80,14 @@ static __inline__ int fw_hash(u32 handle)
 static int fw_classify(struct sk_buff *skb, struct tcf_proto *tp,
 			  struct tcf_result *res)
 {
-	struct fw_head *head = (struct fw_head*)tp->root;
+	struct fw_head *head = (struct fw_head *)tp->root;
 	struct fw_filter *f;
 	int r;
 	u32 id = skb->mark;
 
 	if (head != NULL) {
 		id &= head->mask;
-		for (f=head->ht[fw_hash(id)]; f; f=f->next) {
+		for (f = head->ht[fw_hash(id)]; f; f = f->next) {
 			if (f->id == id) {
 				*res = f->res;
 #ifdef CONFIG_NET_CLS_IND
@@ -105,7 +103,8 @@ static int fw_classify(struct sk_buff *skb, struct tcf_proto *tp,
 		}
 	} else {
 		/* old method */
-		if (id && (TC_H_MAJ(id) == 0 || !(TC_H_MAJ(id^tp->q->handle)))) {
+		if (id && (TC_H_MAJ(id) == 0 ||
+			   !(TC_H_MAJ(id ^ tp->q->handle)))) {
 			res->classid = id;
 			res->class = 0;
 			return 0;
@@ -117,13 +116,13 @@ static int fw_classify(struct sk_buff *skb, struct tcf_proto *tp,
 
 static unsigned long fw_get(struct tcf_proto *tp, u32 handle)
 {
-	struct fw_head *head = (struct fw_head*)tp->root;
+	struct fw_head *head = (struct fw_head *)tp->root;
 	struct fw_filter *f;
 
 	if (head == NULL)
 		return 0;
 
-	for (f=head->ht[fw_hash(handle)]; f; f=f->next) {
+	for (f = head->ht[fw_hash(handle)]; f; f = f->next) {
 		if (f->id == handle)
 			return (unsigned long)f;
 	}
@@ -139,8 +138,7 @@ static int fw_init(struct tcf_proto *tp)
 	return 0;
 }
 
-static inline void
-fw_delete_filter(struct tcf_proto *tp, struct fw_filter *f)
+static void fw_delete_filter(struct tcf_proto *tp, struct fw_filter *f)
 {
 	tcf_unbind_filter(tp, &f->res);
 	tcf_exts_destroy(tp, &f->exts);
@@ -156,8 +154,8 @@ static void fw_destroy(struct tcf_proto *tp)
 	if (head == NULL)
 		return;
 
-	for (h=0; h<HTSIZE; h++) {
-		while ((f=head->ht[h]) != NULL) {
+	for (h = 0; h < HTSIZE; h++) {
+		while ((f = head->ht[h]) != NULL) {
 			head->ht[h] = f->next;
 			fw_delete_filter(tp, f);
 		}
@@ -167,14 +165,14 @@ static void fw_destroy(struct tcf_proto *tp)
 
 static int fw_delete(struct tcf_proto *tp, unsigned long arg)
 {
-	struct fw_head *head = (struct fw_head*)tp->root;
-	struct fw_filter *f = (struct fw_filter*)arg;
+	struct fw_head *head = (struct fw_head *)tp->root;
+	struct fw_filter *f = (struct fw_filter *)arg;
 	struct fw_filter **fp;
 
 	if (head == NULL || f == NULL)
 		goto out;
 
-	for (fp=&head->ht[fw_hash(f->id)]; *fp; fp = &(*fp)->next) {
+	for (fp = &head->ht[fw_hash(f->id)]; *fp; fp = &(*fp)->next) {
 		if (*fp == f) {
 			tcf_tree_lock(tp);
 			*fp = f->next;
@@ -240,7 +238,7 @@ static int fw_change(struct tcf_proto *tp, unsigned long base,
 		     struct nlattr **tca,
 		     unsigned long *arg)
 {
-	struct fw_head *head = (struct fw_head*)tp->root;
+	struct fw_head *head = (struct fw_head *)tp->root;
 	struct fw_filter *f = (struct fw_filter *) *arg;
 	struct nlattr *opt = tca[TCA_OPTIONS];
 	struct nlattr *tb[TCA_FW_MAX + 1];
@@ -302,7 +300,7 @@ errout:
 
 static void fw_walk(struct tcf_proto *tp, struct tcf_walker *arg)
 {
-	struct fw_head *head = (struct fw_head*)tp->root;
+	struct fw_head *head = (struct fw_head *)tp->root;
 	int h;
 
 	if (head == NULL)
@@ -332,7 +330,7 @@ static int fw_dump(struct tcf_proto *tp, unsigned long fh,
 		   struct sk_buff *skb, struct tcmsg *t)
 {
 	struct fw_head *head = (struct fw_head *)tp->root;
-	struct fw_filter *f = (struct fw_filter*)fh;
+	struct fw_filter *f = (struct fw_filter *)fh;
 	unsigned char *b = skb_tail_pointer(skb);
 	struct nlattr *nest;
 
diff --git a/net/sched/cls_route.c b/net/sched/cls_route.c
index 694dcd8..d580cdf 100644
--- a/net/sched/cls_route.c
+++ b/net/sched/cls_route.c
@@ -23,34 +23,30 @@
 #include <net/pkt_cls.h>
 
 /*
-   1. For now we assume that route tags < 256.
-      It allows to use direct table lookups, instead of hash tables.
-   2. For now we assume that "from TAG" and "fromdev DEV" statements
-      are mutually  exclusive.
-   3. "to TAG from ANY" has higher priority, than "to ANY from XXX"
+ * 1. For now we assume that route tags < 256.
+ *    It allows to use direct table lookups, instead of hash tables.
+ * 2. For now we assume that "from TAG" and "fromdev DEV" statements
+ *    are mutually  exclusive.
+ * 3. "to TAG from ANY" has higher priority, than "to ANY from XXX"
  */
 
-struct route4_fastmap
-{
+struct route4_fastmap {
 	struct route4_filter	*filter;
 	u32			id;
 	int			iif;
 };
 
-struct route4_head
-{
+struct route4_head {
 	struct route4_fastmap	fastmap[16];
-	struct route4_bucket	*table[256+1];
+	struct route4_bucket	*table[256 + 1];
 };
 
-struct route4_bucket
-{
+struct route4_bucket {
 	/* 16 FROM buckets + 16 IIF buckets + 1 wildcard bucket */
-	struct route4_filter	*ht[16+16+1];
+	struct route4_filter	*ht[16 + 16 + 1];
 };
 
-struct route4_filter
-{
+struct route4_filter {
 	struct route4_filter	*next;
 	u32			id;
 	int			iif;
@@ -61,20 +57,20 @@ struct route4_filter
 	struct route4_bucket	*bkt;
 };
 
-#define ROUTE4_FAILURE ((struct route4_filter*)(-1L))
+#define ROUTE4_FAILURE ((struct route4_filter *)(-1L))
 
 static const struct tcf_ext_map route_ext_map = {
 	.police = TCA_ROUTE4_POLICE,
 	.action = TCA_ROUTE4_ACT
 };
 
-static __inline__ int route4_fastmap_hash(u32 id, int iif)
+static inline int route4_fastmap_hash(u32 id, int iif)
 {
-	return id&0xF;
+	return id & 0xF;
 }
 
-static inline
-void route4_reset_fastmap(struct Qdisc *q, struct route4_head *head, u32 id)
+static void
+route4_reset_fastmap(struct Qdisc *q, struct route4_head *head, u32 id)
 {
 	spinlock_t *root_lock = qdisc_root_sleeping_lock(q);
 
@@ -83,32 +79,33 @@ void route4_reset_fastmap(struct Qdisc *q, struct route4_head *head, u32 id)
 	spin_unlock_bh(root_lock);
 }
 
-static inline void
+static void
 route4_set_fastmap(struct route4_head *head, u32 id, int iif,
 		   struct route4_filter *f)
 {
 	int h = route4_fastmap_hash(id, iif);
+
 	head->fastmap[h].id = id;
 	head->fastmap[h].iif = iif;
 	head->fastmap[h].filter = f;
 }
 
-static __inline__ int route4_hash_to(u32 id)
+static inline int route4_hash_to(u32 id)
 {
-	return id&0xFF;
+	return id & 0xFF;
 }
 
-static __inline__ int route4_hash_from(u32 id)
+static inline int route4_hash_from(u32 id)
 {
-	return (id>>16)&0xF;
+	return (id >> 16) & 0xF;
 }
 
-static __inline__ int route4_hash_iif(int iif)
+static inline int route4_hash_iif(int iif)
 {
-	return 16 + ((iif>>16)&0xF);
+	return 16 + ((iif >> 16) & 0xF);
 }
 
-static __inline__ int route4_hash_wild(void)
+static inline int route4_hash_wild(void)
 {
 	return 32;
 }
@@ -131,21 +128,22 @@ static __inline__ int route4_hash_wild(void)
 static int route4_classify(struct sk_buff *skb, struct tcf_proto *tp,
 			   struct tcf_result *res)
 {
-	struct route4_head *head = (struct route4_head*)tp->root;
+	struct route4_head *head = (struct route4_head *)tp->root;
 	struct dst_entry *dst;
 	struct route4_bucket *b;
 	struct route4_filter *f;
 	u32 id, h;
 	int iif, dont_cache = 0;
 
-	if ((dst = skb_dst(skb)) == NULL)
+	dst = skb_dst(skb);
+	if (!dst)
 		goto failure;
 
 	id = dst->tclassid;
 	if (head == NULL)
 		goto old_method;
 
-	iif = ((struct rtable*)dst)->fl.iif;
+	iif = ((struct rtable *)dst)->fl.iif;
 
 	h = route4_fastmap_hash(id, iif);
 	if (id == head->fastmap[h].id &&
@@ -161,7 +159,8 @@ static int route4_classify(struct sk_buff *skb, struct tcf_proto *tp,
 	h = route4_hash_to(id);
 
 restart:
-	if ((b = head->table[h]) != NULL) {
+	b = head->table[h];
+	if (b) {
 		for (f = b->ht[route4_hash_from(id)]; f; f = f->next)
 			if (f->id == id)
 				ROUTE4_APPLY_RESULT();
@@ -197,8 +196,9 @@ old_method:
 
 static inline u32 to_hash(u32 id)
 {
-	u32 h = id&0xFF;
-	if (id&0x8000)
+	u32 h = id & 0xFF;
+
+	if (id & 0x8000)
 		h += 256;
 	return h;
 }
@@ -211,17 +211,17 @@ static inline u32 from_hash(u32 id)
 	if (!(id & 0x8000)) {
 		if (id > 255)
 			return 256;
-		return id&0xF;
+		return id & 0xF;
 	}
-	return 16 + (id&0xF);
+	return 16 + (id & 0xF);
 }
 
 static unsigned long route4_get(struct tcf_proto *tp, u32 handle)
 {
-	struct route4_head *head = (struct route4_head*)tp->root;
+	struct route4_head *head = (struct route4_head *)tp->root;
 	struct route4_bucket *b;
 	struct route4_filter *f;
-	unsigned h1, h2;
+	unsigned int h1, h2;
 
 	if (!head)
 		return 0;
@@ -230,11 +230,12 @@ static unsigned long route4_get(struct tcf_proto *tp, u32 handle)
 	if (h1 > 256)
 		return 0;
 
-	h2 = from_hash(handle>>16);
+	h2 = from_hash(handle >> 16);
 	if (h2 > 32)
 		return 0;
 
-	if ((b = head->table[h1]) != NULL) {
+	b = head->table[h1];
+	if (b) {
 		for (f = b->ht[h2]; f; f = f->next)
 			if (f->handle == handle)
 				return (unsigned long)f;
@@ -251,7 +252,7 @@ static int route4_init(struct tcf_proto *tp)
 	return 0;
 }
 
-static inline void
+static void
 route4_delete_filter(struct tcf_proto *tp, struct route4_filter *f)
 {
 	tcf_unbind_filter(tp, &f->res);
@@ -267,11 +268,12 @@ static void route4_destroy(struct tcf_proto *tp)
 	if (head == NULL)
 		return;
 
-	for (h1=0; h1<=256; h1++) {
+	for (h1 = 0; h1 <= 256; h1++) {
 		struct route4_bucket *b;
 
-		if ((b = head->table[h1]) != NULL) {
-			for (h2=0; h2<=32; h2++) {
+		b = head->table[h1];
+		if (b) {
+			for (h2 = 0; h2 <= 32; h2++) {
 				struct route4_filter *f;
 
 				while ((f = b->ht[h2]) != NULL) {
@@ -287,9 +289,9 @@ static void route4_destroy(struct tcf_proto *tp)
 
 static int route4_delete(struct tcf_proto *tp, unsigned long arg)
 {
-	struct route4_head *head = (struct route4_head*)tp->root;
-	struct route4_filter **fp, *f = (struct route4_filter*)arg;
-	unsigned h = 0;
+	struct route4_head *head = (struct route4_head *)tp->root;
+	struct route4_filter **fp, *f = (struct route4_filter *)arg;
+	unsigned int h = 0;
 	struct route4_bucket *b;
 	int i;
 
@@ -299,7 +301,7 @@ static int route4_delete(struct tcf_proto *tp, unsigned long arg)
 	h = f->handle;
 	b = f->bkt;
 
-	for (fp = &b->ht[from_hash(h>>16)]; *fp; fp = &(*fp)->next) {
+	for (fp = &b->ht[from_hash(h >> 16)]; *fp; fp = &(*fp)->next) {
 		if (*fp == f) {
 			tcf_tree_lock(tp);
 			*fp = f->next;
@@ -310,7 +312,7 @@ static int route4_delete(struct tcf_proto *tp, unsigned long arg)
 
 			/* Strip tree */
 
-			for (i=0; i<=32; i++)
+			for (i = 0; i <= 32; i++)
 				if (b->ht[i])
 					return 0;
 
@@ -380,7 +382,8 @@ static int route4_set_parms(struct tcf_proto *tp, unsigned long base,
 	}
 
 	h1 = to_hash(nhandle);
-	if ((b = head->table[h1]) == NULL) {
+	b = head->table[h1];
+	if (!b) {
 		err = -ENOBUFS;
 		b = kzalloc(sizeof(struct route4_bucket), GFP_KERNEL);
 		if (b == NULL)
@@ -391,6 +394,7 @@ static int route4_set_parms(struct tcf_proto *tp, unsigned long base,
 		tcf_tree_unlock(tp);
 	} else {
 		unsigned int h2 = from_hash(nhandle >> 16);
+
 		err = -EEXIST;
 		for (fp = b->ht[h2]; fp; fp = fp->next)
 			if (fp->handle == f->handle)
@@ -444,7 +448,8 @@ static int route4_change(struct tcf_proto *tp, unsigned long base,
 	if (err < 0)
 		return err;
 
-	if ((f = (struct route4_filter*)*arg) != NULL) {
+	f = (struct route4_filter *)*arg;
+	if (f) {
 		if (f->handle != handle && handle)
 			return -EINVAL;
 
@@ -481,7 +486,7 @@ static int route4_change(struct tcf_proto *tp, unsigned long base,
 
 reinsert:
 	h = from_hash(f->handle >> 16);
-	for (fp = &f->bkt->ht[h]; (f1=*fp) != NULL; fp = &f1->next)
+	for (fp = &f->bkt->ht[h]; (f1 = *fp) != NULL; fp = &f1->next)
 		if (f->handle < f1->handle)
 			break;
 
@@ -492,7 +497,8 @@ reinsert:
 	if (old_handle && f->handle != old_handle) {
 		th = to_hash(old_handle);
 		h = from_hash(old_handle >> 16);
-		if ((b = head->table[th]) != NULL) {
+		b = head->table[th];
+		if (b) {
 			for (fp = &b->ht[h]; *fp; fp = &(*fp)->next) {
 				if (*fp == f) {
 					*fp = f->next;
@@ -515,7 +521,7 @@ errout:
 static void route4_walk(struct tcf_proto *tp, struct tcf_walker *arg)
 {
 	struct route4_head *head = tp->root;
-	unsigned h, h1;
+	unsigned int h, h1;
 
 	if (head == NULL)
 		arg->stop = 1;
@@ -549,7 +555,7 @@ static void route4_walk(struct tcf_proto *tp, struct tcf_walker *arg)
 static int route4_dump(struct tcf_proto *tp, unsigned long fh,
 		       struct sk_buff *skb, struct tcmsg *t)
 {
-	struct route4_filter *f = (struct route4_filter*)fh;
+	struct route4_filter *f = (struct route4_filter *)fh;
 	unsigned char *b = skb_tail_pointer(skb);
 	struct nlattr *nest;
 	u32 id;
@@ -563,15 +569,15 @@ static int route4_dump(struct tcf_proto *tp, unsigned long fh,
 	if (nest == NULL)
 		goto nla_put_failure;
 
-	if (!(f->handle&0x8000)) {
-		id = f->id&0xFF;
+	if (!(f->handle & 0x8000)) {
+		id = f->id & 0xFF;
 		NLA_PUT_U32(skb, TCA_ROUTE4_TO, id);
 	}
-	if (f->handle&0x80000000) {
-		if ((f->handle>>16) != 0xFFFF)
+	if (f->handle & 0x80000000) {
+		if ((f->handle >> 16) != 0xFFFF)
 			NLA_PUT_U32(skb, TCA_ROUTE4_IIF, f->iif);
 	} else {
-		id = f->id>>16;
+		id = f->id >> 16;
 		NLA_PUT_U32(skb, TCA_ROUTE4_FROM, id);
 	}
 	if (f->res.classid)
diff --git a/net/sched/cls_rsvp.h b/net/sched/cls_rsvp.h
index 425a179..402c44b 100644
--- a/net/sched/cls_rsvp.h
+++ b/net/sched/cls_rsvp.h
@@ -66,28 +66,25 @@
    powerful classification engine.  */
 
 
-struct rsvp_head
-{
+struct rsvp_head {
 	u32			tmap[256/32];
 	u32			hgenerator;
 	u8			tgenerator;
 	struct rsvp_session	*ht[256];
 };
 
-struct rsvp_session
-{
+struct rsvp_session {
 	struct rsvp_session	*next;
 	__be32			dst[RSVP_DST_LEN];
 	struct tc_rsvp_gpi 	dpi;
 	u8			protocol;
 	u8			tunnelid;
 	/* 16 (src,sport) hash slots, and one wildcard source slot */
-	struct rsvp_filter	*ht[16+1];
+	struct rsvp_filter	*ht[16 + 1];
 };
 
 
-struct rsvp_filter
-{
+struct rsvp_filter {
 	struct rsvp_filter	*next;
 	__be32			src[RSVP_DST_LEN];
 	struct tc_rsvp_gpi	spi;
@@ -100,17 +97,19 @@ struct rsvp_filter
 	struct rsvp_session	*sess;
 };
 
-static __inline__ unsigned hash_dst(__be32 *dst, u8 protocol, u8 tunnelid)
+static inline unsigned int hash_dst(__be32 *dst, u8 protocol, u8 tunnelid)
 {
-	unsigned h = (__force __u32)dst[RSVP_DST_LEN-1];
+	unsigned int h = (__force __u32)dst[RSVP_DST_LEN - 1];
+
 	h ^= h>>16;
 	h ^= h>>8;
 	return (h ^ protocol ^ tunnelid) & 0xFF;
 }
 
-static __inline__ unsigned hash_src(__be32 *src)
+static inline unsigned int hash_src(__be32 *src)
 {
-	unsigned h = (__force __u32)src[RSVP_DST_LEN-1];
+	unsigned int h = (__force __u32)src[RSVP_DST_LEN-1];
+
 	h ^= h>>16;
 	h ^= h>>8;
 	h ^= h>>4;
@@ -134,10 +133,10 @@ static struct tcf_ext_map rsvp_ext_map = {
 static int rsvp_classify(struct sk_buff *skb, struct tcf_proto *tp,
 			 struct tcf_result *res)
 {
-	struct rsvp_session **sht = ((struct rsvp_head*)tp->root)->ht;
+	struct rsvp_session **sht = ((struct rsvp_head *)tp->root)->ht;
 	struct rsvp_session *s;
 	struct rsvp_filter *f;
-	unsigned h1, h2;
+	unsigned int h1, h2;
 	__be32 *dst, *src;
 	u8 protocol;
 	u8 tunnelid = 0;
@@ -162,13 +161,13 @@ restart:
 	src = &nhptr->saddr.s6_addr32[0];
 	dst = &nhptr->daddr.s6_addr32[0];
 	protocol = nhptr->nexthdr;
-	xprt = ((u8*)nhptr) + sizeof(struct ipv6hdr);
+	xprt = ((u8 *)nhptr) + sizeof(struct ipv6hdr);
 #else
 	src = &nhptr->saddr;
 	dst = &nhptr->daddr;
 	protocol = nhptr->protocol;
-	xprt = ((u8*)nhptr) + (nhptr->ihl<<2);
-	if (nhptr->frag_off & htons(IP_MF|IP_OFFSET))
+	xprt = ((u8 *)nhptr) + (nhptr->ihl<<2);
+	if (nhptr->frag_off & htons(IP_MF | IP_OFFSET))
 		return -1;
 #endif
 
@@ -176,10 +175,10 @@ restart:
 	h2 = hash_src(src);
 
 	for (s = sht[h1]; s; s = s->next) {
-		if (dst[RSVP_DST_LEN-1] == s->dst[RSVP_DST_LEN-1] &&
+		if (dst[RSVP_DST_LEN-1] == s->dst[RSVP_DST_LEN - 1] &&
 		    protocol == s->protocol &&
 		    !(s->dpi.mask &
-		      (*(u32*)(xprt+s->dpi.offset)^s->dpi.key)) &&
+		      (*(u32 *)(xprt + s->dpi.offset) ^ s->dpi.key)) &&
 #if RSVP_DST_LEN == 4
 		    dst[0] == s->dst[0] &&
 		    dst[1] == s->dst[1] &&
@@ -188,8 +187,8 @@ restart:
 		    tunnelid == s->tunnelid) {
 
 			for (f = s->ht[h2]; f; f = f->next) {
-				if (src[RSVP_DST_LEN-1] == f->src[RSVP_DST_LEN-1] &&
-				    !(f->spi.mask & (*(u32*)(xprt+f->spi.offset)^f->spi.key))
+				if (src[RSVP_DST_LEN-1] == f->src[RSVP_DST_LEN - 1] &&
+				    !(f->spi.mask & (*(u32 *)(xprt + f->spi.offset) ^ f->spi.key))
 #if RSVP_DST_LEN == 4
 				    &&
 				    src[0] == f->src[0] &&
@@ -205,7 +204,7 @@ matched:
 						return 0;
 
 					tunnelid = f->res.classid;
-					nhptr = (void*)(xprt + f->tunnelhdr - sizeof(*nhptr));
+					nhptr = (void *)(xprt + f->tunnelhdr - sizeof(*nhptr));
 					goto restart;
 				}
 			}
@@ -224,11 +223,11 @@ matched:
 
 static unsigned long rsvp_get(struct tcf_proto *tp, u32 handle)
 {
-	struct rsvp_session **sht = ((struct rsvp_head*)tp->root)->ht;
+	struct rsvp_session **sht = ((struct rsvp_head *)tp->root)->ht;
 	struct rsvp_session *s;
 	struct rsvp_filter *f;
-	unsigned h1 = handle&0xFF;
-	unsigned h2 = (handle>>8)&0xFF;
+	unsigned int h1 = handle & 0xFF;
+	unsigned int h2 = (handle >> 8) & 0xFF;
 
 	if (h2 > 16)
 		return 0;
@@ -258,7 +257,7 @@ static int rsvp_init(struct tcf_proto *tp)
 	return -ENOBUFS;
 }
 
-static inline void
+static void
 rsvp_delete_filter(struct tcf_proto *tp, struct rsvp_filter *f)
 {
 	tcf_unbind_filter(tp, &f->res);
@@ -277,13 +276,13 @@ static void rsvp_destroy(struct tcf_proto *tp)
 
 	sht = data->ht;
 
-	for (h1=0; h1<256; h1++) {
+	for (h1 = 0; h1 < 256; h1++) {
 		struct rsvp_session *s;
 
 		while ((s = sht[h1]) != NULL) {
 			sht[h1] = s->next;
 
-			for (h2=0; h2<=16; h2++) {
+			for (h2 = 0; h2 <= 16; h2++) {
 				struct rsvp_filter *f;
 
 				while ((f = s->ht[h2]) != NULL) {
@@ -299,13 +298,13 @@ static void rsvp_destroy(struct tcf_proto *tp)
 
 static int rsvp_delete(struct tcf_proto *tp, unsigned long arg)
 {
-	struct rsvp_filter **fp, *f = (struct rsvp_filter*)arg;
-	unsigned h = f->handle;
+	struct rsvp_filter **fp, *f = (struct rsvp_filter *)arg;
+	unsigned int h = f->handle;
 	struct rsvp_session **sp;
 	struct rsvp_session *s = f->sess;
 	int i;
 
-	for (fp = &s->ht[(h>>8)&0xFF]; *fp; fp = &(*fp)->next) {
+	for (fp = &s->ht[(h >> 8) & 0xFF]; *fp; fp = &(*fp)->next) {
 		if (*fp == f) {
 			tcf_tree_lock(tp);
 			*fp = f->next;
@@ -314,12 +313,12 @@ static int rsvp_delete(struct tcf_proto *tp, unsigned long arg)
 
 			/* Strip tree */
 
-			for (i=0; i<=16; i++)
+			for (i = 0; i <= 16; i++)
 				if (s->ht[i])
 					return 0;
 
 			/* OK, session has no flows */
-			for (sp = &((struct rsvp_head*)tp->root)->ht[h&0xFF];
+			for (sp = &((struct rsvp_head *)tp->root)->ht[h & 0xFF];
 			     *sp; sp = &(*sp)->next) {
 				if (*sp == s) {
 					tcf_tree_lock(tp);
@@ -337,13 +336,14 @@ static int rsvp_delete(struct tcf_proto *tp, unsigned long arg)
 	return 0;
 }
 
-static unsigned gen_handle(struct tcf_proto *tp, unsigned salt)
+static unsigned int gen_handle(struct tcf_proto *tp, unsigned salt)
 {
 	struct rsvp_head *data = tp->root;
 	int i = 0xFFFF;
 
 	while (i-- > 0) {
 		u32 h;
+
 		if ((data->hgenerator += 0x10000) == 0)
 			data->hgenerator = 0x10000;
 		h = data->hgenerator|salt;
@@ -355,10 +355,10 @@ static unsigned gen_handle(struct tcf_proto *tp, unsigned salt)
 
 static int tunnel_bts(struct rsvp_head *data)
 {
-	int n = data->tgenerator>>5;
-	u32 b = 1<<(data->tgenerator&0x1F);
+	int n = data->tgenerator >> 5;
+	u32 b = 1 << (data->tgenerator & 0x1F);
 
-	if (data->tmap[n]&b)
+	if (data->tmap[n] & b)
 		return 0;
 	data->tmap[n] |= b;
 	return 1;
@@ -372,10 +372,10 @@ static void tunnel_recycle(struct rsvp_head *data)
 
 	memset(tmap, 0, sizeof(tmap));
 
-	for (h1=0; h1<256; h1++) {
+	for (h1 = 0; h1 < 256; h1++) {
 		struct rsvp_session *s;
 		for (s = sht[h1]; s; s = s->next) {
-			for (h2=0; h2<=16; h2++) {
+			for (h2 = 0; h2 <= 16; h2++) {
 				struct rsvp_filter *f;
 
 				for (f = s->ht[h2]; f; f = f->next) {
@@ -395,8 +395,8 @@ static u32 gen_tunnel(struct rsvp_head *data)
 {
 	int i, k;
 
-	for (k=0; k<2; k++) {
-		for (i=255; i>0; i--) {
+	for (k = 0; k < 2; k++) {
+		for (i = 255; i > 0; i--) {
 			if (++data->tgenerator == 0)
 				data->tgenerator = 1;
 			if (tunnel_bts(data))
@@ -428,7 +428,7 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base,
 	struct nlattr *opt = tca[TCA_OPTIONS-1];
 	struct nlattr *tb[TCA_RSVP_MAX + 1];
 	struct tcf_exts e;
-	unsigned h1, h2;
+	unsigned int h1, h2;
 	__be32 *dst;
 	int err;
 
@@ -443,7 +443,8 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base,
 	if (err < 0)
 		return err;
 
-	if ((f = (struct rsvp_filter*)*arg) != NULL) {
+	f = (struct rsvp_filter *)*arg;
+	if (f) {
 		/* Node exists: adjust only classid */
 
 		if (f->handle != handle && handle)
@@ -500,7 +501,7 @@ static int rsvp_change(struct tcf_proto *tp, unsigned long base,
 			goto errout;
 	}
 
-	for (sp = &data->ht[h1]; (s=*sp) != NULL; sp = &s->next) {
+	for (sp = &data->ht[h1]; (s = *sp) != NULL; sp = &s->next) {
 		if (dst[RSVP_DST_LEN-1] == s->dst[RSVP_DST_LEN-1] &&
 		    pinfo && pinfo->protocol == s->protocol &&
 		    memcmp(&pinfo->dpi, &s->dpi, sizeof(s->dpi)) == 0 &&
@@ -523,7 +524,7 @@ insert:
 			tcf_exts_change(tp, &f->exts, &e);
 
 			for (fp = &s->ht[h2]; *fp; fp = &(*fp)->next)
-				if (((*fp)->spi.mask&f->spi.mask) != f->spi.mask)
+				if (((*fp)->spi.mask & f->spi.mask) != f->spi.mask)
 					break;
 			f->next = *fp;
 			wmb();
@@ -567,7 +568,7 @@ errout2:
 static void rsvp_walk(struct tcf_proto *tp, struct tcf_walker *arg)
 {
 	struct rsvp_head *head = tp->root;
-	unsigned h, h1;
+	unsigned int h, h1;
 
 	if (arg->stop)
 		return;
@@ -598,7 +599,7 @@ static void rsvp_walk(struct tcf_proto *tp, struct tcf_walker *arg)
 static int rsvp_dump(struct tcf_proto *tp, unsigned long fh,
 		     struct sk_buff *skb, struct tcmsg *t)
 {
-	struct rsvp_filter *f = (struct rsvp_filter*)fh;
+	struct rsvp_filter *f = (struct rsvp_filter *)fh;
 	struct rsvp_session *s;
 	unsigned char *b = skb_tail_pointer(skb);
 	struct nlattr *nest;
@@ -624,7 +625,7 @@ static int rsvp_dump(struct tcf_proto *tp, unsigned long fh,
 	NLA_PUT(skb, TCA_RSVP_PINFO, sizeof(pinfo), &pinfo);
 	if (f->res.classid)
 		NLA_PUT_U32(skb, TCA_RSVP_CLASSID, f->res.classid);
-	if (((f->handle>>8)&0xFF) != 16)
+	if (((f->handle >> 8) & 0xFF) != 16)
 		NLA_PUT(skb, TCA_RSVP_SRC, sizeof(f->src), f->src);
 
 	if (tcf_exts_dump(skb, &f->exts, &rsvp_ext_map) < 0)
diff --git a/net/sched/cls_tcindex.c b/net/sched/cls_tcindex.c
index 20ef330..36667fa 100644
--- a/net/sched/cls_tcindex.c
+++ b/net/sched/cls_tcindex.c
@@ -249,7 +249,7 @@ tcindex_set_parms(struct tcf_proto *tp, unsigned long base, u32 handle,
 		 * of the hashing index is below the threshold.
 		 */
 		if ((cp.mask >> cp.shift) < PERFECT_HASH_THRESHOLD)
-			cp.hash = (cp.mask >> cp.shift)+1;
+			cp.hash = (cp.mask >> cp.shift) + 1;
 		else
 			cp.hash = DEFAULT_HASH_SIZE;
 	}
diff --git a/net/sched/cls_u32.c b/net/sched/cls_u32.c
index b0c2a82..966920c 100644
--- a/net/sched/cls_u32.c
+++ b/net/sched/cls_u32.c
@@ -42,8 +42,7 @@
 #include <net/act_api.h>
 #include <net/pkt_cls.h>
 
-struct tc_u_knode
-{
+struct tc_u_knode {
 	struct tc_u_knode	*next;
 	u32			handle;
 	struct tc_u_hnode	*ht_up;
@@ -63,19 +62,17 @@ struct tc_u_knode
 	struct tc_u32_sel	sel;
 };
 
-struct tc_u_hnode
-{
+struct tc_u_hnode {
 	struct tc_u_hnode	*next;
 	u32			handle;
 	u32			prio;
 	struct tc_u_common	*tp_c;
 	int			refcnt;
-	unsigned		divisor;
+	unsigned int		divisor;
 	struct tc_u_knode	*ht[1];
 };
 
-struct tc_u_common
-{
+struct tc_u_common {
 	struct tc_u_hnode	*hlist;
 	struct Qdisc		*q;
 	int			refcnt;
@@ -87,9 +84,11 @@ static const struct tcf_ext_map u32_ext_map = {
 	.police = TCA_U32_POLICE
 };
 
-static __inline__ unsigned u32_hash_fold(__be32 key, struct tc_u32_sel *sel, u8 fshift)
+static inline unsigned int u32_hash_fold(__be32 key,
+					 const struct tc_u32_sel *sel,
+					 u8 fshift)
 {
-	unsigned h = ntohl(key & sel->hmask)>>fshift;
+	unsigned int h = ntohl(key & sel->hmask) >> fshift;
 
 	return h;
 }
@@ -101,7 +100,7 @@ static int u32_classify(struct sk_buff *skb, struct tcf_proto *tp, struct tcf_re
 		unsigned int	  off;
 	} stack[TC_U32_MAXDEPTH];
 
-	struct tc_u_hnode *ht = (struct tc_u_hnode*)tp->root;
+	struct tc_u_hnode *ht = (struct tc_u_hnode *)tp->root;
 	unsigned int off = skb_network_offset(skb);
 	struct tc_u_knode *n;
 	int sdepth = 0;
@@ -120,7 +119,7 @@ next_knode:
 		struct tc_u32_key *key = n->sel.keys;
 
 #ifdef CONFIG_CLS_U32_PERF
-		n->pf->rcnt +=1;
+		n->pf->rcnt += 1;
 		j = 0;
 #endif
 
@@ -133,7 +132,7 @@ next_knode:
 		}
 #endif
 
-		for (i = n->sel.nkeys; i>0; i--, key++) {
+		for (i = n->sel.nkeys; i > 0; i--, key++) {
 			int toff = off + key->off + (off2 & key->offmask);
 			__be32 *data, _data;
 
@@ -148,13 +147,13 @@ next_knode:
 				goto next_knode;
 			}
 #ifdef CONFIG_CLS_U32_PERF
-			n->pf->kcnts[j] +=1;
+			n->pf->kcnts[j] += 1;
 			j++;
 #endif
 		}
 		if (n->ht_down == NULL) {
 check_terminal:
-			if (n->sel.flags&TC_U32_TERMINAL) {
+			if (n->sel.flags & TC_U32_TERMINAL) {
 
 				*res = n->res;
 #ifdef CONFIG_NET_CLS_IND
@@ -164,7 +163,7 @@ check_terminal:
 				}
 #endif
 #ifdef CONFIG_CLS_U32_PERF
-				n->pf->rhit +=1;
+				n->pf->rhit += 1;
 #endif
 				r = tcf_exts_exec(skb, &n->exts, res);
 				if (r < 0) {
@@ -197,10 +196,10 @@ check_terminal:
 			sel = ht->divisor & u32_hash_fold(*data, &n->sel,
 							  n->fshift);
 		}
-		if (!(n->sel.flags&(TC_U32_VAROFFSET|TC_U32_OFFSET|TC_U32_EAT)))
+		if (!(n->sel.flags & (TC_U32_VAROFFSET | TC_U32_OFFSET | TC_U32_EAT)))
 			goto next_ht;
 
-		if (n->sel.flags&(TC_U32_OFFSET|TC_U32_VAROFFSET)) {
+		if (n->sel.flags & (TC_U32_OFFSET | TC_U32_VAROFFSET)) {
 			off2 = n->sel.off + 3;
 			if (n->sel.flags & TC_U32_VAROFFSET) {
 				__be16 *data, _data;
@@ -215,7 +214,7 @@ check_terminal:
 			}
 			off2 &= ~3;
 		}
-		if (n->sel.flags&TC_U32_EAT) {
+		if (n->sel.flags & TC_U32_EAT) {
 			off += off2;
 			off2 = 0;
 		}
@@ -236,11 +235,11 @@ out:
 
 deadloop:
 	if (net_ratelimit())
-		printk(KERN_WARNING "cls_u32: dead loop\n");
+		pr_warning("cls_u32: dead loop\n");
 	return -1;
 }
 
-static __inline__ struct tc_u_hnode *
+static struct tc_u_hnode *
 u32_lookup_ht(struct tc_u_common *tp_c, u32 handle)
 {
 	struct tc_u_hnode *ht;
@@ -252,10 +251,10 @@ u32_lookup_ht(struct tc_u_common *tp_c, u32 handle)
 	return ht;
 }
 
-static __inline__ struct tc_u_knode *
+static struct tc_u_knode *
 u32_lookup_key(struct tc_u_hnode *ht, u32 handle)
 {
-	unsigned sel;
+	unsigned int sel;
 	struct tc_u_knode *n = NULL;
 
 	sel = TC_U32_HASH(handle);
@@ -300,7 +299,7 @@ static u32 gen_new_htid(struct tc_u_common *tp_c)
 	do {
 		if (++tp_c->hgenerator == 0x7FF)
 			tp_c->hgenerator = 1;
-	} while (--i>0 && u32_lookup_ht(tp_c, (tp_c->hgenerator|0x800)<<20));
+	} while (--i > 0 && u32_lookup_ht(tp_c, (tp_c->hgenerator|0x800)<<20));
 
 	return i > 0 ? (tp_c->hgenerator|0x800)<<20 : 0;
 }
@@ -378,9 +377,9 @@ static int u32_delete_key(struct tcf_proto *tp, struct tc_u_knode* key)
 static void u32_clear_hnode(struct tcf_proto *tp, struct tc_u_hnode *ht)
 {
 	struct tc_u_knode *n;
-	unsigned h;
+	unsigned int h;
 
-	for (h=0; h<=ht->divisor; h++) {
+	for (h = 0; h <= ht->divisor; h++) {
 		while ((n = ht->ht[h]) != NULL) {
 			ht->ht[h] = n->next;
 
@@ -446,13 +445,13 @@ static void u32_destroy(struct tcf_proto *tp)
 
 static int u32_delete(struct tcf_proto *tp, unsigned long arg)
 {
-	struct tc_u_hnode *ht = (struct tc_u_hnode*)arg;
+	struct tc_u_hnode *ht = (struct tc_u_hnode *)arg;
 
 	if (ht == NULL)
 		return 0;
 
 	if (TC_U32_KEY(ht->handle))
-		return u32_delete_key(tp, (struct tc_u_knode*)ht);
+		return u32_delete_key(tp, (struct tc_u_knode *)ht);
 
 	if (tp->root == ht)
 		return -EINVAL;
@@ -470,14 +469,14 @@ static int u32_delete(struct tcf_proto *tp, unsigned long arg)
 static u32 gen_new_kid(struct tc_u_hnode *ht, u32 handle)
 {
 	struct tc_u_knode *n;
-	unsigned i = 0x7FF;
+	unsigned int i = 0x7FF;
 
-	for (n=ht->ht[TC_U32_HASH(handle)]; n; n = n->next)
+	for (n = ht->ht[TC_U32_HASH(handle)]; n; n = n->next)
 		if (i < TC_U32_NODE(n->handle))
 			i = TC_U32_NODE(n->handle);
 	i++;
 
-	return handle|(i>0xFFF ? 0xFFF : i);
+	return handle | (i > 0xFFF ? 0xFFF : i);
 }
 
 static const struct nla_policy u32_policy[TCA_U32_MAX + 1] = {
@@ -566,7 +565,8 @@ static int u32_change(struct tcf_proto *tp, unsigned long base, u32 handle,
 	if (err < 0)
 		return err;
 
-	if ((n = (struct tc_u_knode*)*arg) != NULL) {
+	n = (struct tc_u_knode *)*arg;
+	if (n) {
 		if (TC_U32_KEY(n->handle) == 0)
 			return -EINVAL;
 
@@ -574,7 +574,7 @@ static int u32_change(struct tcf_proto *tp, unsigned long base, u32 handle,
 	}
 
 	if (tb[TCA_U32_DIVISOR]) {
-		unsigned divisor = nla_get_u32(tb[TCA_U32_DIVISOR]);
+		unsigned int divisor = nla_get_u32(tb[TCA_U32_DIVISOR]);
 
 		if (--divisor > 0x100)
 			return -EINVAL;
@@ -585,7 +585,7 @@ static int u32_change(struct tcf_proto *tp, unsigned long base, u32 handle,
 			if (handle == 0)
 				return -ENOMEM;
 		}
-		ht = kzalloc(sizeof(*ht) + divisor*sizeof(void*), GFP_KERNEL);
+		ht = kzalloc(sizeof(*ht) + divisor*sizeof(void *), GFP_KERNEL);
 		if (ht == NULL)
 			return -ENOBUFS;
 		ht->tp_c = tp_c;
@@ -683,7 +683,7 @@ static void u32_walk(struct tcf_proto *tp, struct tcf_walker *arg)
 	struct tc_u_common *tp_c = tp->data;
 	struct tc_u_hnode *ht;
 	struct tc_u_knode *n;
-	unsigned h;
+	unsigned int h;
 
 	if (arg->stop)
 		return;
@@ -717,7 +717,7 @@ static void u32_walk(struct tcf_proto *tp, struct tcf_walker *arg)
 static int u32_dump(struct tcf_proto *tp, unsigned long fh,
 		     struct sk_buff *skb, struct tcmsg *t)
 {
-	struct tc_u_knode *n = (struct tc_u_knode*)fh;
+	struct tc_u_knode *n = (struct tc_u_knode *)fh;
 	struct nlattr *nest;
 
 	if (n == NULL)
@@ -730,8 +730,9 @@ static int u32_dump(struct tcf_proto *tp, unsigned long fh,
 		goto nla_put_failure;
 
 	if (TC_U32_KEY(n->handle) == 0) {
-		struct tc_u_hnode *ht = (struct tc_u_hnode*)fh;
-		u32 divisor = ht->divisor+1;
+		struct tc_u_hnode *ht = (struct tc_u_hnode *)fh;
+		u32 divisor = ht->divisor + 1;
+
 		NLA_PUT_U32(skb, TCA_U32_DIVISOR, divisor);
 	} else {
 		NLA_PUT(skb, TCA_U32_SEL,
@@ -755,7 +756,7 @@ static int u32_dump(struct tcf_proto *tp, unsigned long fh,
 			goto nla_put_failure;
 
 #ifdef CONFIG_NET_CLS_IND
-		if(strlen(n->indev))
+		if (strlen(n->indev))
 			NLA_PUT_STRING(skb, TCA_U32_INDEV, n->indev);
 #endif
 #ifdef CONFIG_CLS_U32_PERF
diff --git a/net/sched/em_cmp.c b/net/sched/em_cmp.c
index bc45039..1c8360a 100644
--- a/net/sched/em_cmp.c
+++ b/net/sched/em_cmp.c
@@ -33,40 +33,41 @@ static int em_cmp_match(struct sk_buff *skb, struct tcf_ematch *em,
 		return 0;
 
 	switch (cmp->align) {
-		case TCF_EM_ALIGN_U8:
-			val = *ptr;
-			break;
+	case TCF_EM_ALIGN_U8:
+		val = *ptr;
+		break;
 
-		case TCF_EM_ALIGN_U16:
-			val = get_unaligned_be16(ptr);
+	case TCF_EM_ALIGN_U16:
+		val = get_unaligned_be16(ptr);
 
-			if (cmp_needs_transformation(cmp))
-				val = be16_to_cpu(val);
-			break;
+		if (cmp_needs_transformation(cmp))
+			val = be16_to_cpu(val);
+		break;
 
-		case TCF_EM_ALIGN_U32:
-			/* Worth checking boundries? The branching seems
-			 * to get worse. Visit again. */
-			val = get_unaligned_be32(ptr);
+	case TCF_EM_ALIGN_U32:
+		/* Worth checking boundries? The branching seems
+		 * to get worse. Visit again.
+		 */
+		val = get_unaligned_be32(ptr);
 
-			if (cmp_needs_transformation(cmp))
-				val = be32_to_cpu(val);
-			break;
+		if (cmp_needs_transformation(cmp))
+			val = be32_to_cpu(val);
+		break;
 
-		default:
-			return 0;
+	default:
+		return 0;
 	}
 
 	if (cmp->mask)
 		val &= cmp->mask;
 
 	switch (cmp->opnd) {
-		case TCF_EM_OPND_EQ:
-			return val == cmp->val;
-		case TCF_EM_OPND_LT:
-			return val < cmp->val;
-		case TCF_EM_OPND_GT:
-			return val > cmp->val;
+	case TCF_EM_OPND_EQ:
+		return val == cmp->val;
+	case TCF_EM_OPND_LT:
+		return val < cmp->val;
+	case TCF_EM_OPND_GT:
+		return val > cmp->val;
 	}
 
 	return 0;
diff --git a/net/sched/em_meta.c b/net/sched/em_meta.c
index 34da5e2..7af1f65 100644
--- a/net/sched/em_meta.c
+++ b/net/sched/em_meta.c
@@ -73,21 +73,18 @@
 #include <net/pkt_cls.h>
 #include <net/sock.h>
 
-struct meta_obj
-{
+struct meta_obj {
 	unsigned long		value;
 	unsigned int		len;
 };
 
-struct meta_value
-{
+struct meta_value {
 	struct tcf_meta_val	hdr;
 	unsigned long		val;
 	unsigned int		len;
 };
 
-struct meta_match
-{
+struct meta_match {
 	struct meta_value	lvalue;
 	struct meta_value	rvalue;
 };
@@ -483,8 +480,7 @@ META_COLLECTOR(int_sk_write_pend)
  * Meta value collectors assignment table
  **************************************************************************/
 
-struct meta_ops
-{
+struct meta_ops {
 	void		(*get)(struct sk_buff *, struct tcf_pkt_info *,
 			       struct meta_value *, struct meta_obj *, int *);
 };
@@ -494,7 +490,7 @@ struct meta_ops
 
 /* Meta value operations table listing all meta value collectors and
  * assigns them to a type and meta id. */
-static struct meta_ops __meta_ops[TCF_META_TYPE_MAX+1][TCF_META_ID_MAX+1] = {
+static struct meta_ops __meta_ops[TCF_META_TYPE_MAX + 1][TCF_META_ID_MAX + 1] = {
 	[TCF_META_TYPE_VAR] = {
 		[META_ID(DEV)]			= META_FUNC(var_dev),
 		[META_ID(SK_BOUND_IF)] 		= META_FUNC(var_sk_bound_if),
@@ -550,7 +546,7 @@ static struct meta_ops __meta_ops[TCF_META_TYPE_MAX+1][TCF_META_ID_MAX+1] = {
 	}
 };
 
-static inline struct meta_ops * meta_ops(struct meta_value *val)
+static inline struct meta_ops *meta_ops(struct meta_value *val)
 {
 	return &__meta_ops[meta_type(val)][meta_id(val)];
 }
@@ -649,9 +645,8 @@ static int meta_int_dump(struct sk_buff *skb, struct meta_value *v, int tlv)
 {
 	if (v->len == sizeof(unsigned long))
 		NLA_PUT(skb, tlv, sizeof(unsigned long), &v->val);
-	else if (v->len == sizeof(u32)) {
+	else if (v->len == sizeof(u32))
 		NLA_PUT_U32(skb, tlv, v->val);
-	}
 
 	return 0;
 
@@ -663,8 +658,7 @@ nla_put_failure:
  * Type specific operations table
  **************************************************************************/
 
-struct meta_type_ops
-{
+struct meta_type_ops {
 	void	(*destroy)(struct meta_value *);
 	int	(*compare)(struct meta_obj *, struct meta_obj *);
 	int	(*change)(struct meta_value *, struct nlattr *);
@@ -672,7 +666,7 @@ struct meta_type_ops
 	int	(*dump)(struct sk_buff *, struct meta_value *, int);
 };
 
-static struct meta_type_ops __meta_type_ops[TCF_META_TYPE_MAX+1] = {
+static struct meta_type_ops __meta_type_ops[TCF_META_TYPE_MAX + 1] = {
 	[TCF_META_TYPE_VAR] = {
 		.destroy = meta_var_destroy,
 		.compare = meta_var_compare,
@@ -688,7 +682,7 @@ static struct meta_type_ops __meta_type_ops[TCF_META_TYPE_MAX+1] = {
 	}
 };
 
-static inline struct meta_type_ops * meta_type_ops(struct meta_value *v)
+static inline struct meta_type_ops *meta_type_ops(struct meta_value *v)
 {
 	return &__meta_type_ops[meta_type(v)];
 }
@@ -713,7 +707,7 @@ static int meta_get(struct sk_buff *skb, struct tcf_pkt_info *info,
 		return err;
 
 	if (meta_type_ops(v)->apply_extras)
-	    meta_type_ops(v)->apply_extras(v, dst);
+		meta_type_ops(v)->apply_extras(v, dst);
 
 	return 0;
 }
@@ -732,12 +726,12 @@ static int em_meta_match(struct sk_buff *skb, struct tcf_ematch *m,
 	r = meta_type_ops(&meta->lvalue)->compare(&l_value, &r_value);
 
 	switch (meta->lvalue.hdr.op) {
-		case TCF_EM_OPND_EQ:
-			return !r;
-		case TCF_EM_OPND_LT:
-			return r < 0;
-		case TCF_EM_OPND_GT:
-			return r > 0;
+	case TCF_EM_OPND_EQ:
+		return !r;
+	case TCF_EM_OPND_LT:
+		return r < 0;
+	case TCF_EM_OPND_GT:
+		return r > 0;
 	}
 
 	return 0;
@@ -771,7 +765,7 @@ static inline int meta_change_data(struct meta_value *dst, struct nlattr *nla)
 
 static inline int meta_is_supported(struct meta_value *val)
 {
-	return (!meta_id(val) || meta_ops(val)->get);
+	return !meta_id(val) || meta_ops(val)->get;
 }
 
 static const struct nla_policy meta_policy[TCA_EM_META_MAX + 1] = {
diff --git a/net/sched/em_nbyte.c b/net/sched/em_nbyte.c
index 1a4176a..a3bed07 100644
--- a/net/sched/em_nbyte.c
+++ b/net/sched/em_nbyte.c
@@ -18,8 +18,7 @@
 #include <linux/tc_ematch/tc_em_nbyte.h>
 #include <net/pkt_cls.h>
 
-struct nbyte_data
-{
+struct nbyte_data {
 	struct tcf_em_nbyte	hdr;
 	char			pattern[0];
 };
diff --git a/net/sched/em_text.c b/net/sched/em_text.c
index ea8f566..15d353d 100644
--- a/net/sched/em_text.c
+++ b/net/sched/em_text.c
@@ -19,8 +19,7 @@
 #include <linux/tc_ematch/tc_em_text.h>
 #include <net/pkt_cls.h>
 
-struct text_match
-{
+struct text_match {
 	u16			from_offset;
 	u16			to_offset;
 	u8			from_layer;
diff --git a/net/sched/em_u32.c b/net/sched/em_u32.c
index 953f147..797bdb8 100644
--- a/net/sched/em_u32.c
+++ b/net/sched/em_u32.c
@@ -35,7 +35,7 @@ static int em_u32_match(struct sk_buff *skb, struct tcf_ematch *em,
 	if (!tcf_valid_offset(skb, ptr, sizeof(u32)))
 		return 0;
 
-	return !(((*(__be32*) ptr)  ^ key->val) & key->mask);
+	return !(((*(__be32 *) ptr)  ^ key->val) & key->mask);
 }
 
 static struct tcf_ematch_ops em_u32_ops = {
diff --git a/net/sched/ematch.c b/net/sched/ematch.c
index 5e37da9..88d93eb 100644
--- a/net/sched/ematch.c
+++ b/net/sched/ematch.c
@@ -93,7 +93,7 @@
 static LIST_HEAD(ematch_ops);
 static DEFINE_RWLOCK(ematch_mod_lock);
 
-static inline struct tcf_ematch_ops * tcf_em_lookup(u16 kind)
+static struct tcf_ematch_ops *tcf_em_lookup(u16 kind)
 {
 	struct tcf_ematch_ops *e = NULL;
 
@@ -163,8 +163,8 @@ void tcf_em_unregister(struct tcf_ematch_ops *ops)
 }
 EXPORT_SYMBOL(tcf_em_unregister);
 
-static inline struct tcf_ematch * tcf_em_get_match(struct tcf_ematch_tree *tree,
-						   int index)
+static inline struct tcf_ematch *tcf_em_get_match(struct tcf_ematch_tree *tree,
+						  int index)
 {
 	return &tree->matches[index];
 }
@@ -184,7 +184,8 @@ static int tcf_em_validate(struct tcf_proto *tp,
 
 	if (em_hdr->kind == TCF_EM_CONTAINER) {
 		/* Special ematch called "container", carries an index
-		 * referencing an external ematch sequence. */
+		 * referencing an external ematch sequence.
+		 */
 		u32 ref;
 
 		if (data_len < sizeof(ref))
@@ -195,7 +196,8 @@ static int tcf_em_validate(struct tcf_proto *tp,
 			goto errout;
 
 		/* We do not allow backward jumps to avoid loops and jumps
-		 * to our own position are of course illegal. */
+		 * to our own position are of course illegal.
+		 */
 		if (ref <= idx)
 			goto errout;
 
@@ -208,7 +210,8 @@ static int tcf_em_validate(struct tcf_proto *tp,
 		 * which automatically releases the reference again, therefore
 		 * the module MUST not be given back under any circumstances
 		 * here. Be aware, the destroy function assumes that the
-		 * module is held if the ops field is non zero. */
+		 * module is held if the ops field is non zero.
+		 */
 		em->ops = tcf_em_lookup(em_hdr->kind);
 
 		if (em->ops == NULL) {
@@ -221,7 +224,8 @@ static int tcf_em_validate(struct tcf_proto *tp,
 			if (em->ops) {
 				/* We dropped the RTNL mutex in order to
 				 * perform the module load. Tell the caller
-				 * to replay the request. */
+				 * to replay the request.
+				 */
 				module_put(em->ops->owner);
 				err = -EAGAIN;
 			}
@@ -230,7 +234,8 @@ static int tcf_em_validate(struct tcf_proto *tp,
 		}
 
 		/* ematch module provides expected length of data, so we
-		 * can do a basic sanity check. */
+		 * can do a basic sanity check.
+		 */
 		if (em->ops->datalen && data_len < em->ops->datalen)
 			goto errout;
 
@@ -246,7 +251,8 @@ static int tcf_em_validate(struct tcf_proto *tp,
 			 * TCF_EM_SIMPLE may be specified stating that the
 			 * data only consists of a u32 integer and the module
 			 * does not expected a memory reference but rather
-			 * the value carried. */
+			 * the value carried.
+			 */
 			if (em_hdr->flags & TCF_EM_SIMPLE) {
 				if (data_len < sizeof(u32))
 					goto errout;
@@ -334,7 +340,8 @@ int tcf_em_tree_validate(struct tcf_proto *tp, struct nlattr *nla,
 	 * The array of rt attributes is parsed in the order as they are
 	 * provided, their type must be incremental from 1 to n. Even
 	 * if it does not serve any real purpose, a failure of sticking
-	 * to this policy will result in parsing failure. */
+	 * to this policy will result in parsing failure.
+	 */
 	for (idx = 0; nla_ok(rt_match, list_len); idx++) {
 		err = -EINVAL;
 
@@ -359,7 +366,8 @@ int tcf_em_tree_validate(struct tcf_proto *tp, struct nlattr *nla,
 	/* Check if the number of matches provided by userspace actually
 	 * complies with the array of matches. The number was used for
 	 * the validation of references and a mismatch could lead to
-	 * undefined references during the matching process. */
+	 * undefined references during the matching process.
+	 */
 	if (idx != tree_hdr->nmatches) {
 		err = -EINVAL;
 		goto errout_abort;
@@ -449,7 +457,7 @@ int tcf_em_tree_dump(struct sk_buff *skb, struct tcf_ematch_tree *tree, int tlv)
 			.flags = em->flags
 		};
 
-		NLA_PUT(skb, i+1, sizeof(em_hdr), &em_hdr);
+		NLA_PUT(skb, i + 1, sizeof(em_hdr), &em_hdr);
 
 		if (em->ops && em->ops->dump) {
 			if (em->ops->dump(skb, em) < 0)
@@ -478,6 +486,7 @@ static inline int tcf_em_match(struct sk_buff *skb, struct tcf_ematch *em,
 			       struct tcf_pkt_info *info)
 {
 	int r = em->ops->match(skb, em, info);
+
 	return tcf_em_is_inverted(em) ? !r : r;
 }
 
@@ -527,8 +536,8 @@ pop_stack:
 
 stack_overflow:
 	if (net_ratelimit())
-		printk(KERN_WARNING "tc ematch: local stack overflow,"
-			" increase NET_EMATCH_STACK\n");
+		pr_warning("tc ematch: local stack overflow,"
+			   " increase NET_EMATCH_STACK\n");
 	return -1;
 }
 EXPORT_SYMBOL(__tcf_em_tree_match);
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index b22ca2d..36ac0ec 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -187,7 +187,7 @@ int unregister_qdisc(struct Qdisc_ops *qops)
 	int err = -ENOENT;
 
 	write_lock(&qdisc_mod_lock);
-	for (qp = &qdisc_base; (q=*qp)!=NULL; qp = &q->next)
+	for (qp = &qdisc_base; (q = *qp) != NULL; qp = &q->next)
 		if (q == qops)
 			break;
 	if (q) {
@@ -321,7 +321,9 @@ void qdisc_put_rtab(struct qdisc_rate_table *tab)
 	if (!tab || --tab->refcnt)
 		return;
 
-	for (rtabp = &qdisc_rtab_list; (rtab=*rtabp) != NULL; rtabp = &rtab->next) {
+	for (rtabp = &qdisc_rtab_list;
+	     (rtab = *rtabp) != NULL;
+	     rtabp = &rtab->next) {
 		if (rtab == tab) {
 			*rtabp = rtab->next;
 			kfree(rtab);
@@ -459,9 +461,8 @@ EXPORT_SYMBOL(qdisc_calculate_pkt_len);
 void qdisc_warn_nonwc(char *txt, struct Qdisc *qdisc)
 {
 	if (!(qdisc->flags & TCQ_F_WARN_NONWC)) {
-		printk(KERN_WARNING
-		       "%s: %s qdisc %X: is non-work-conserving?\n",
-		       txt, qdisc->ops->id, qdisc->handle >> 16);
+		pr_warn("%s: %s qdisc %X: is non-work-conserving?\n",
+			txt, qdisc->ops->id, qdisc->handle >> 16);
 		qdisc->flags |= TCQ_F_WARN_NONWC;
 	}
 }
@@ -625,7 +626,7 @@ static u32 qdisc_alloc_handle(struct net_device *dev)
 			autohandle = TC_H_MAKE(0x80000000U, 0);
 	} while	(qdisc_lookup(dev, autohandle) && --i > 0);
 
-	return i>0 ? autohandle : 0;
+	return i > 0 ? autohandle : 0;
 }
 
 void qdisc_tree_decrease_qlen(struct Qdisc *sch, unsigned int n)
@@ -915,9 +916,8 @@ out:
 	return 0;
 }
 
-struct check_loop_arg
-{
-	struct qdisc_walker 	w;
+struct check_loop_arg {
+	struct qdisc_walker	w;
 	struct Qdisc		*p;
 	int			depth;
 };
@@ -970,7 +970,8 @@ static int tc_get_qdisc(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
 	struct Qdisc *p = NULL;
 	int err;
 
-	if ((dev = __dev_get_by_index(net, tcm->tcm_ifindex)) == NULL)
+	dev = __dev_get_by_index(net, tcm->tcm_ifindex);
+	if (!dev)
 		return -ENODEV;
 
 	err = nlmsg_parse(n, sizeof(*tcm), tca, TCA_MAX, NULL);
@@ -980,12 +981,12 @@ static int tc_get_qdisc(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
 	if (clid) {
 		if (clid != TC_H_ROOT) {
 			if (TC_H_MAJ(clid) != TC_H_MAJ(TC_H_INGRESS)) {
-				if ((p = qdisc_lookup(dev, TC_H_MAJ(clid))) == NULL)
+				p = qdisc_lookup(dev, TC_H_MAJ(clid));
+				if (!p)
 					return -ENOENT;
 				q = qdisc_leaf(p, clid);
-			} else { /* ingress */
-				if (dev_ingress_queue(dev))
-					q = dev_ingress_queue(dev)->qdisc_sleeping;
+			} else if (dev_ingress_queue(dev)) {
+				q = dev_ingress_queue(dev)->qdisc_sleeping;
 			}
 		} else {
 			q = dev->qdisc;
@@ -996,7 +997,8 @@ static int tc_get_qdisc(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
 		if (tcm->tcm_handle && q->handle != tcm->tcm_handle)
 			return -EINVAL;
 	} else {
-		if ((q = qdisc_lookup(dev, tcm->tcm_handle)) == NULL)
+		q = qdisc_lookup(dev, tcm->tcm_handle);
+		if (!q)
 			return -ENOENT;
 	}
 
@@ -1008,7 +1010,8 @@ static int tc_get_qdisc(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
 			return -EINVAL;
 		if (q->handle == 0)
 			return -ENOENT;
-		if ((err = qdisc_graft(dev, p, skb, n, clid, NULL, q)) != 0)
+		err = qdisc_graft(dev, p, skb, n, clid, NULL, q);
+		if (err != 0)
 			return err;
 	} else {
 		qdisc_notify(net, skb, n, clid, NULL, q);
@@ -1017,7 +1020,7 @@ static int tc_get_qdisc(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
 }
 
 /*
-   Create/change qdisc.
+ * Create/change qdisc.
  */
 
 static int tc_modify_qdisc(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
@@ -1036,7 +1039,8 @@ replay:
 	clid = tcm->tcm_parent;
 	q = p = NULL;
 
-	if ((dev = __dev_get_by_index(net, tcm->tcm_ifindex)) == NULL)
+	dev = __dev_get_by_index(net, tcm->tcm_ifindex);
+	if (!dev)
 		return -ENODEV;
 
 	err = nlmsg_parse(n, sizeof(*tcm), tca, TCA_MAX, NULL);
@@ -1046,12 +1050,12 @@ replay:
 	if (clid) {
 		if (clid != TC_H_ROOT) {
 			if (clid != TC_H_INGRESS) {
-				if ((p = qdisc_lookup(dev, TC_H_MAJ(clid))) == NULL)
+				p = qdisc_lookup(dev, TC_H_MAJ(clid));
+				if (!p)
 					return -ENOENT;
 				q = qdisc_leaf(p, clid);
-			} else { /* ingress */
-				if (dev_ingress_queue_create(dev))
-					q = dev_ingress_queue(dev)->qdisc_sleeping;
+			} else if (dev_ingress_queue_create(dev)) {
+				q = dev_ingress_queue(dev)->qdisc_sleeping;
 			}
 		} else {
 			q = dev->qdisc;
@@ -1063,13 +1067,14 @@ replay:
 
 		if (!q || !tcm->tcm_handle || q->handle != tcm->tcm_handle) {
 			if (tcm->tcm_handle) {
-				if (q && !(n->nlmsg_flags&NLM_F_REPLACE))
+				if (q && !(n->nlmsg_flags & NLM_F_REPLACE))
 					return -EEXIST;
 				if (TC_H_MIN(tcm->tcm_handle))
 					return -EINVAL;
-				if ((q = qdisc_lookup(dev, tcm->tcm_handle)) == NULL)
+				q = qdisc_lookup(dev, tcm->tcm_handle);
+				if (!q)
 					goto create_n_graft;
-				if (n->nlmsg_flags&NLM_F_EXCL)
+				if (n->nlmsg_flags & NLM_F_EXCL)
 					return -EEXIST;
 				if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], q->ops->id))
 					return -EINVAL;
@@ -1079,7 +1084,7 @@ replay:
 				atomic_inc(&q->refcnt);
 				goto graft;
 			} else {
-				if (q == NULL)
+				if (!q)
 					goto create_n_graft;
 
 				/* This magic test requires explanation.
@@ -1101,9 +1106,9 @@ replay:
 				 *   For now we select create/graft, if
 				 *   user gave KIND, which does not match existing.
 				 */
-				if ((n->nlmsg_flags&NLM_F_CREATE) &&
-				    (n->nlmsg_flags&NLM_F_REPLACE) &&
-				    ((n->nlmsg_flags&NLM_F_EXCL) ||
+				if ((n->nlmsg_flags & NLM_F_CREATE) &&
+				    (n->nlmsg_flags & NLM_F_REPLACE) &&
+				    ((n->nlmsg_flags & NLM_F_EXCL) ||
 				     (tca[TCA_KIND] &&
 				      nla_strcmp(tca[TCA_KIND], q->ops->id))))
 					goto create_n_graft;
@@ -1118,7 +1123,7 @@ replay:
 	/* Change qdisc parameters */
 	if (q == NULL)
 		return -ENOENT;
-	if (n->nlmsg_flags&NLM_F_EXCL)
+	if (n->nlmsg_flags & NLM_F_EXCL)
 		return -EEXIST;
 	if (tca[TCA_KIND] && nla_strcmp(tca[TCA_KIND], q->ops->id))
 		return -EINVAL;
@@ -1128,7 +1133,7 @@ replay:
 	return err;
 
 create_n_graft:
-	if (!(n->nlmsg_flags&NLM_F_CREATE))
+	if (!(n->nlmsg_flags & NLM_F_CREATE))
 		return -ENOENT;
 	if (clid == TC_H_INGRESS) {
 		if (dev_ingress_queue(dev))
@@ -1234,16 +1239,19 @@ static int qdisc_notify(struct net *net, struct sk_buff *oskb,
 		return -ENOBUFS;
 
 	if (old && !tc_qdisc_dump_ignore(old)) {
-		if (tc_fill_qdisc(skb, old, clid, pid, n->nlmsg_seq, 0, RTM_DELQDISC) < 0)
+		if (tc_fill_qdisc(skb, old, clid, pid, n->nlmsg_seq,
+				  0, RTM_DELQDISC) < 0)
 			goto err_out;
 	}
 	if (new && !tc_qdisc_dump_ignore(new)) {
-		if (tc_fill_qdisc(skb, new, clid, pid, n->nlmsg_seq, old ? NLM_F_REPLACE : 0, RTM_NEWQDISC) < 0)
+		if (tc_fill_qdisc(skb, new, clid, pid, n->nlmsg_seq,
+				  old ? NLM_F_REPLACE : 0, RTM_NEWQDISC) < 0)
 			goto err_out;
 	}
 
 	if (skb->len)
-		return rtnetlink_send(skb, net, pid, RTNLGRP_TC, n->nlmsg_flags&NLM_F_ECHO);
+		return rtnetlink_send(skb, net, pid, RTNLGRP_TC,
+				      n->nlmsg_flags & NLM_F_ECHO);
 
 err_out:
 	kfree_skb(skb);
@@ -1275,7 +1283,7 @@ static int tc_dump_qdisc_root(struct Qdisc *root, struct sk_buff *skb,
 			q_idx++;
 			continue;
 		}
-		if (!tc_qdisc_dump_ignore(q) && 
+		if (!tc_qdisc_dump_ignore(q) &&
 		    tc_fill_qdisc(skb, q, q->parent, NETLINK_CB(cb->skb).pid,
 				  cb->nlh->nlmsg_seq, NLM_F_MULTI, RTM_NEWQDISC) <= 0)
 			goto done;
@@ -1356,7 +1364,8 @@ static int tc_ctl_tclass(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
 	u32 qid = TC_H_MAJ(clid);
 	int err;
 
-	if ((dev = __dev_get_by_index(net, tcm->tcm_ifindex)) == NULL)
+	dev = __dev_get_by_index(net, tcm->tcm_ifindex);
+	if (!dev)
 		return -ENODEV;
 
 	err = nlmsg_parse(n, sizeof(*tcm), tca, TCA_MAX, NULL);
@@ -1391,9 +1400,9 @@ static int tc_ctl_tclass(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
 			qid = dev->qdisc->handle;
 
 		/* Now qid is genuine qdisc handle consistent
-		   both with parent and child.
-
-		   TC_H_MAJ(pid) still may be unspecified, complete it now.
+		 * both with parent and child.
+		 *
+		 * TC_H_MAJ(pid) still may be unspecified, complete it now.
 		 */
 		if (pid)
 			pid = TC_H_MAKE(qid, pid);
@@ -1403,7 +1412,8 @@ static int tc_ctl_tclass(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
 	}
 
 	/* OK. Locate qdisc */
-	if ((q = qdisc_lookup(dev, qid)) == NULL)
+	q = qdisc_lookup(dev, qid);
+	if (!q)
 		return -ENOENT;
 
 	/* An check that it supports classes */
@@ -1423,13 +1433,14 @@ static int tc_ctl_tclass(struct sk_buff *skb, struct nlmsghdr *n, void *arg)
 
 	if (cl == 0) {
 		err = -ENOENT;
-		if (n->nlmsg_type != RTM_NEWTCLASS || !(n->nlmsg_flags&NLM_F_CREATE))
+		if (n->nlmsg_type != RTM_NEWTCLASS ||
+		    !(n->nlmsg_flags & NLM_F_CREATE))
 			goto out;
 	} else {
 		switch (n->nlmsg_type) {
 		case RTM_NEWTCLASS:
 			err = -EEXIST;
-			if (n->nlmsg_flags&NLM_F_EXCL)
+			if (n->nlmsg_flags & NLM_F_EXCL)
 				goto out;
 			break;
 		case RTM_DELTCLASS:
@@ -1521,14 +1532,14 @@ static int tclass_notify(struct net *net, struct sk_buff *oskb,
 		return -EINVAL;
 	}
 
-	return rtnetlink_send(skb, net, pid, RTNLGRP_TC, n->nlmsg_flags&NLM_F_ECHO);
+	return rtnetlink_send(skb, net, pid, RTNLGRP_TC,
+			      n->nlmsg_flags & NLM_F_ECHO);
 }
 
-struct qdisc_dump_args
-{
-	struct qdisc_walker w;
-	struct sk_buff *skb;
-	struct netlink_callback *cb;
+struct qdisc_dump_args {
+	struct qdisc_walker	w;
+	struct sk_buff		*skb;
+	struct netlink_callback	*cb;
 };
 
 static int qdisc_class_dump(struct Qdisc *q, unsigned long cl, struct qdisc_walker *arg)
@@ -1590,7 +1601,7 @@ static int tc_dump_tclass_root(struct Qdisc *root, struct sk_buff *skb,
 
 static int tc_dump_tclass(struct sk_buff *skb, struct netlink_callback *cb)
 {
-	struct tcmsg *tcm = (struct tcmsg*)NLMSG_DATA(cb->nlh);
+	struct tcmsg *tcm = (struct tcmsg *)NLMSG_DATA(cb->nlh);
 	struct net *net = sock_net(skb->sk);
 	struct netdev_queue *dev_queue;
 	struct net_device *dev;
@@ -1598,7 +1609,8 @@ static int tc_dump_tclass(struct sk_buff *skb, struct netlink_callback *cb)
 
 	if (cb->nlh->nlmsg_len < NLMSG_LENGTH(sizeof(*tcm)))
 		return 0;
-	if ((dev = dev_get_by_index(net, tcm->tcm_ifindex)) == NULL)
+	dev = dev_get_by_index(net, tcm->tcm_ifindex);
+	if (!dev)
 		return 0;
 
 	s_t = cb->args[0];
@@ -1621,19 +1633,22 @@ done:
 }
 
 /* Main classifier routine: scans classifier chain attached
-   to this qdisc, (optionally) tests for protocol and asks
-   specific classifiers.
+ * to this qdisc, (optionally) tests for protocol and asks
+ * specific classifiers.
  */
 int tc_classify_compat(struct sk_buff *skb, struct tcf_proto *tp,
 		       struct tcf_result *res)
 {
 	__be16 protocol = skb->protocol;
-	int err = 0;
+	int err;
 
 	for (; tp; tp = tp->next) {
-		if ((tp->protocol == protocol ||
-		     tp->protocol == htons(ETH_P_ALL)) &&
-		    (err = tp->classify(skb, tp, res)) >= 0) {
+		if (tp->protocol != protocol &&
+		    tp->protocol != htons(ETH_P_ALL))
+			continue;
+		err = tp->classify(skb, tp, res);
+
+		if (err >= 0) {
 #ifdef CONFIG_NET_CLS_ACT
 			if (err != TC_ACT_RECLASSIFY && skb->tc_verd)
 				skb->tc_verd = SET_TC_VERD(skb->tc_verd, 0);
@@ -1664,11 +1679,11 @@ reclassify:
 
 		if (verd++ >= MAX_REC_LOOP) {
 			if (net_ratelimit())
-				printk(KERN_NOTICE
-				       "%s: packet reclassify loop"
+				pr_notice("%s: packet reclassify loop"
 					  " rule prio %u protocol %02x\n",
-				       tp->q->ops->id,
-				       tp->prio & 0xffff, ntohs(tp->protocol));
+					  tp->q->ops->id,
+					  tp->prio & 0xffff,
+					  ntohs(tp->protocol));
 			return TC_ACT_SHOT;
 		}
 		skb->tc_verd = SET_TC_VERD(skb->tc_verd, verd);
@@ -1761,7 +1776,7 @@ static int __init pktsched_init(void)
 
 	err = register_pernet_subsys(&psched_net_ops);
 	if (err) {
-		printk(KERN_ERR "pktsched_init: "
+		pr_err("pktsched_init: "
 		       "cannot initialize per netns operations\n");
 		return err;
 	}
diff --git a/net/sched/sch_atm.c b/net/sched/sch_atm.c
index 943d733..3f08158 100644
--- a/net/sched/sch_atm.c
+++ b/net/sched/sch_atm.c
@@ -319,7 +319,7 @@ static int atm_tc_delete(struct Qdisc *sch, unsigned long arg)
 	 * creation), and one for the reference held when calling delete.
 	 */
 	if (flow->ref < 2) {
-		printk(KERN_ERR "atm_tc_delete: flow->ref == %d\n", flow->ref);
+		pr_err("atm_tc_delete: flow->ref == %d\n", flow->ref);
 		return -EINVAL;
 	}
 	if (flow->ref > 2)
@@ -384,12 +384,12 @@ static int atm_tc_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 			}
 		}
 		flow = NULL;
-	done:
-		;		
+done:
+		;
 	}
-	if (!flow)
+	if (!flow) {
 		flow = &p->link;
-	else {
+	} else {
 		if (flow->vcc)
 			ATM_SKB(skb)->atm_options = flow->vcc->atm_options;
 		/*@@@ looks good ... but it's not supposed to work :-) */
@@ -576,8 +576,7 @@ static void atm_tc_destroy(struct Qdisc *sch)
 
 	list_for_each_entry_safe(flow, tmp, &p->flows, list) {
 		if (flow->ref > 1)
-			printk(KERN_ERR "atm_destroy: %p->ref = %d\n", flow,
-			       flow->ref);
+			pr_err("atm_destroy: %p->ref = %d\n", flow, flow->ref);
 		atm_tc_put(sch, (unsigned long)flow);
 	}
 	tasklet_kill(&p->task);
@@ -616,9 +615,8 @@ static int atm_tc_dump_class(struct Qdisc *sch, unsigned long cl,
 	}
 	if (flow->excess)
 		NLA_PUT_U32(skb, TCA_ATM_EXCESS, flow->classid);
-	else {
+	else
 		NLA_PUT_U32(skb, TCA_ATM_EXCESS, 0);
-	}
 
 	nla_nest_end(skb, nest);
 	return skb->len;
diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c
index c80d1c2..4aaf44c 100644
--- a/net/sched/sch_cbq.c
+++ b/net/sched/sch_cbq.c
@@ -72,8 +72,7 @@
 struct cbq_sched_data;
 
 
-struct cbq_class
-{
+struct cbq_class {
 	struct Qdisc_class_common common;
 	struct cbq_class	*next_alive;	/* next class with backlog in this priority band */
 
@@ -139,19 +138,18 @@ struct cbq_class
 	int			refcnt;
 	int			filters;
 
-	struct cbq_class 	*defaults[TC_PRIO_MAX+1];
+	struct cbq_class	*defaults[TC_PRIO_MAX + 1];
 };
 
-struct cbq_sched_data
-{
+struct cbq_sched_data {
 	struct Qdisc_class_hash	clhash;			/* Hash table of all classes */
-	int			nclasses[TC_CBQ_MAXPRIO+1];
-	unsigned		quanta[TC_CBQ_MAXPRIO+1];
+	int			nclasses[TC_CBQ_MAXPRIO + 1];
+	unsigned int		quanta[TC_CBQ_MAXPRIO + 1];
 
 	struct cbq_class	link;
 
-	unsigned		activemask;
-	struct cbq_class	*active[TC_CBQ_MAXPRIO+1];	/* List of all classes
+	unsigned int		activemask;
+	struct cbq_class	*active[TC_CBQ_MAXPRIO + 1];	/* List of all classes
 								   with backlog */
 
 #ifdef CONFIG_NET_CLS_ACT
@@ -162,7 +160,7 @@ struct cbq_sched_data
 	int			tx_len;
 	psched_time_t		now;		/* Cached timestamp */
 	psched_time_t		now_rt;		/* Cached real time */
-	unsigned		pmask;
+	unsigned int		pmask;
 
 	struct hrtimer		delay_timer;
 	struct qdisc_watchdog	watchdog;	/* Watchdog timer,
@@ -175,9 +173,9 @@ struct cbq_sched_data
 };
 
 
-#define L2T(cl,len)	qdisc_l2t((cl)->R_tab,len)
+#define L2T(cl, len)	qdisc_l2t((cl)->R_tab, len)
 
-static __inline__ struct cbq_class *
+static inline struct cbq_class *
 cbq_class_lookup(struct cbq_sched_data *q, u32 classid)
 {
 	struct Qdisc_class_common *clc;
@@ -193,25 +191,27 @@ cbq_class_lookup(struct cbq_sched_data *q, u32 classid)
 static struct cbq_class *
 cbq_reclassify(struct sk_buff *skb, struct cbq_class *this)
 {
-	struct cbq_class *cl, *new;
+	struct cbq_class *cl;
 
-	for (cl = this->tparent; cl; cl = cl->tparent)
-		if ((new = cl->defaults[TC_PRIO_BESTEFFORT]) != NULL && new != this)
-			return new;
+	for (cl = this->tparent; cl; cl = cl->tparent) {
+		struct cbq_class *new = cl->defaults[TC_PRIO_BESTEFFORT];
 
+		if (new != NULL && new != this)
+			return new;
+	}
 	return NULL;
 }
 
 #endif
 
 /* Classify packet. The procedure is pretty complicated, but
-   it allows us to combine link sharing and priority scheduling
-   transparently.
-
-   Namely, you can put link sharing rules (f.e. route based) at root of CBQ,
-   so that it resolves to split nodes. Then packets are classified
-   by logical priority, or a more specific classifier may be attached
-   to the split node.
+ * it allows us to combine link sharing and priority scheduling
+ * transparently.
+ *
+ * Namely, you can put link sharing rules (f.e. route based) at root of CBQ,
+ * so that it resolves to split nodes. Then packets are classified
+ * by logical priority, or a more specific classifier may be attached
+ * to the split node.
  */
 
 static struct cbq_class *
@@ -227,7 +227,7 @@ cbq_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr)
 	/*
 	 *  Step 1. If skb->priority points to one of our classes, use it.
 	 */
-	if (TC_H_MAJ(prio^sch->handle) == 0 &&
+	if (TC_H_MAJ(prio ^ sch->handle) == 0 &&
 	    (cl = cbq_class_lookup(q, prio)) != NULL)
 		return cl;
 
@@ -243,10 +243,11 @@ cbq_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr)
 		    (result = tc_classify_compat(skb, head->filter_list, &res)) < 0)
 			goto fallback;
 
-		if ((cl = (void*)res.class) == NULL) {
+		cl = (void *)res.class;
+		if (!cl) {
 			if (TC_H_MAJ(res.classid))
 				cl = cbq_class_lookup(q, res.classid);
-			else if ((cl = defmap[res.classid&TC_PRIO_MAX]) == NULL)
+			else if ((cl = defmap[res.classid & TC_PRIO_MAX]) == NULL)
 				cl = defmap[TC_PRIO_BESTEFFORT];
 
 			if (cl == NULL || cl->level >= head->level)
@@ -282,7 +283,7 @@ fallback:
 	 * Step 4. No success...
 	 */
 	if (TC_H_MAJ(prio) == 0 &&
-	    !(cl = head->defaults[prio&TC_PRIO_MAX]) &&
+	    !(cl = head->defaults[prio & TC_PRIO_MAX]) &&
 	    !(cl = head->defaults[TC_PRIO_BESTEFFORT]))
 		return head;
 
@@ -290,12 +291,12 @@ fallback:
 }
 
 /*
-   A packet has just been enqueued on the empty class.
-   cbq_activate_class adds it to the tail of active class list
-   of its priority band.
+ * A packet has just been enqueued on the empty class.
+ * cbq_activate_class adds it to the tail of active class list
+ * of its priority band.
  */
 
-static __inline__ void cbq_activate_class(struct cbq_class *cl)
+static inline void cbq_activate_class(struct cbq_class *cl)
 {
 	struct cbq_sched_data *q = qdisc_priv(cl->qdisc);
 	int prio = cl->cpriority;
@@ -314,9 +315,9 @@ static __inline__ void cbq_activate_class(struct cbq_class *cl)
 }
 
 /*
-   Unlink class from active chain.
-   Note that this same procedure is done directly in cbq_dequeue*
-   during round-robin procedure.
+ * Unlink class from active chain.
+ * Note that this same procedure is done directly in cbq_dequeue*
+ * during round-robin procedure.
  */
 
 static void cbq_deactivate_class(struct cbq_class *this)
@@ -350,7 +351,7 @@ cbq_mark_toplevel(struct cbq_sched_data *q, struct cbq_class *cl)
 {
 	int toplevel = q->toplevel;
 
-	if (toplevel > cl->level && !(cl->q->flags&TCQ_F_THROTTLED)) {
+	if (toplevel > cl->level && !(cl->q->flags & TCQ_F_THROTTLED)) {
 		psched_time_t now;
 		psched_tdiff_t incr;
 
@@ -363,7 +364,7 @@ cbq_mark_toplevel(struct cbq_sched_data *q, struct cbq_class *cl)
 				q->toplevel = cl->level;
 				return;
 			}
-		} while ((cl=cl->borrow) != NULL && toplevel > cl->level);
+		} while ((cl = cl->borrow) != NULL && toplevel > cl->level);
 	}
 }
 
@@ -418,11 +419,11 @@ static void cbq_ovl_classic(struct cbq_class *cl)
 		delay += cl->offtime;
 
 		/*
-		   Class goes to sleep, so that it will have no
-		   chance to work avgidle. Let's forgive it 8)
-
-		   BTW cbq-2.0 has a crap in this
-		   place, apparently they forgot to shift it by cl->ewma_log.
+		 * Class goes to sleep, so that it will have no
+		 * chance to work avgidle. Let's forgive it 8)
+		 *
+		 * BTW cbq-2.0 has a crap in this
+		 * place, apparently they forgot to shift it by cl->ewma_log.
 		 */
 		if (cl->avgidle < 0)
 			delay -= (-cl->avgidle) - ((-cl->avgidle) >> cl->ewma_log);
@@ -439,8 +440,8 @@ static void cbq_ovl_classic(struct cbq_class *cl)
 		q->wd_expires = delay;
 
 	/* Dirty work! We must schedule wakeups based on
-	   real available rate, rather than leaf rate,
-	   which may be tiny (even zero).
+	 * real available rate, rather than leaf rate,
+	 * which may be tiny (even zero).
 	 */
 	if (q->toplevel == TC_CBQ_MAXLEVEL) {
 		struct cbq_class *b;
@@ -460,7 +461,7 @@ static void cbq_ovl_classic(struct cbq_class *cl)
 }
 
 /* TC_CBQ_OVL_RCLASSIC: penalize by offtime classes in hierarchy, when
-   they go overlimit
+ * they go overlimit
  */
 
 static void cbq_ovl_rclassic(struct cbq_class *cl)
@@ -595,7 +596,7 @@ static enum hrtimer_restart cbq_undelay(struct hrtimer *timer)
 	struct Qdisc *sch = q->watchdog.qdisc;
 	psched_time_t now;
 	psched_tdiff_t delay = 0;
-	unsigned pmask;
+	unsigned int pmask;
 
 	now = psched_get_time();
 
@@ -665,15 +666,15 @@ static int cbq_reshape_fail(struct sk_buff *skb, struct Qdisc *child)
 #endif
 
 /*
-   It is mission critical procedure.
-
-   We "regenerate" toplevel cutoff, if transmitting class
-   has backlog and it is not regulated. It is not part of
-   original CBQ description, but looks more reasonable.
-   Probably, it is wrong. This question needs further investigation.
-*/
+ * It is mission critical procedure.
+ *
+ * We "regenerate" toplevel cutoff, if transmitting class
+ * has backlog and it is not regulated. It is not part of
+ * original CBQ description, but looks more reasonable.
+ * Probably, it is wrong. This question needs further investigation.
+ */
 
-static __inline__ void
+static inline void
 cbq_update_toplevel(struct cbq_sched_data *q, struct cbq_class *cl,
 		    struct cbq_class *borrowed)
 {
@@ -684,7 +685,7 @@ cbq_update_toplevel(struct cbq_sched_data *q, struct cbq_class *cl,
 					q->toplevel = borrowed->level;
 					return;
 				}
-			} while ((borrowed=borrowed->borrow) != NULL);
+			} while ((borrowed = borrowed->borrow) != NULL);
 		}
 #if 0
 	/* It is not necessary now. Uncommenting it
@@ -712,10 +713,10 @@ cbq_update(struct cbq_sched_data *q)
 		cl->bstats.bytes += len;
 
 		/*
-		   (now - last) is total time between packet right edges.
-		   (last_pktlen/rate) is "virtual" busy time, so that
-
-			 idle = (now - last) - last_pktlen/rate
+		 * (now - last) is total time between packet right edges.
+		 * (last_pktlen/rate) is "virtual" busy time, so that
+		 *
+		 *	idle = (now - last) - last_pktlen/rate
 		 */
 
 		idle = q->now - cl->last;
@@ -725,9 +726,9 @@ cbq_update(struct cbq_sched_data *q)
 			idle -= L2T(cl, len);
 
 		/* true_avgidle := (1-W)*true_avgidle + W*idle,
-		   where W=2^{-ewma_log}. But cl->avgidle is scaled:
-		   cl->avgidle == true_avgidle/W,
-		   hence:
+		 * where W=2^{-ewma_log}. But cl->avgidle is scaled:
+		 * cl->avgidle == true_avgidle/W,
+		 * hence:
 		 */
 			avgidle += idle - (avgidle>>cl->ewma_log);
 		}
@@ -741,22 +742,22 @@ cbq_update(struct cbq_sched_data *q)
 			cl->avgidle = avgidle;
 
 			/* Calculate expected time, when this class
-			   will be allowed to send.
-			   It will occur, when:
-			   (1-W)*true_avgidle + W*delay = 0, i.e.
-			   idle = (1/W - 1)*(-true_avgidle)
-			   or
-			   idle = (1 - W)*(-cl->avgidle);
+			 * will be allowed to send.
+			 * It will occur, when:
+			 * (1-W)*true_avgidle + W*delay = 0, i.e.
+			 * idle = (1/W - 1)*(-true_avgidle)
+			 * or
+			 * idle = (1 - W)*(-cl->avgidle);
 			 */
 			idle = (-avgidle) - ((-avgidle) >> cl->ewma_log);
 
 			/*
-			   That is not all.
-			   To maintain the rate allocated to the class,
-			   we add to undertime virtual clock,
-			   necessary to complete transmitted packet.
-			   (len/phys_bandwidth has been already passed
-			   to the moment of cbq_update)
+			 * That is not all.
+			 * To maintain the rate allocated to the class,
+			 * we add to undertime virtual clock,
+			 * necessary to complete transmitted packet.
+			 * (len/phys_bandwidth has been already passed
+			 * to the moment of cbq_update)
 			 */
 
 			idle -= L2T(&q->link, len);
@@ -778,7 +779,7 @@ cbq_update(struct cbq_sched_data *q)
 	cbq_update_toplevel(q, this, q->tx_borrowed);
 }
 
-static __inline__ struct cbq_class *
+static inline struct cbq_class *
 cbq_under_limit(struct cbq_class *cl)
 {
 	struct cbq_sched_data *q = qdisc_priv(cl->qdisc);
@@ -794,16 +795,17 @@ cbq_under_limit(struct cbq_class *cl)
 
 	do {
 		/* It is very suspicious place. Now overlimit
-		   action is generated for not bounded classes
-		   only if link is completely congested.
-		   Though it is in agree with ancestor-only paradigm,
-		   it looks very stupid. Particularly,
-		   it means that this chunk of code will either
-		   never be called or result in strong amplification
-		   of burstiness. Dangerous, silly, and, however,
-		   no another solution exists.
+		 * action is generated for not bounded classes
+		 * only if link is completely congested.
+		 * Though it is in agree with ancestor-only paradigm,
+		 * it looks very stupid. Particularly,
+		 * it means that this chunk of code will either
+		 * never be called or result in strong amplification
+		 * of burstiness. Dangerous, silly, and, however,
+		 * no another solution exists.
 		 */
-		if ((cl = cl->borrow) == NULL) {
+		cl = cl->borrow;
+		if (!cl) {
 			this_cl->qstats.overlimits++;
 			this_cl->overlimit(this_cl);
 			return NULL;
@@ -816,7 +818,7 @@ cbq_under_limit(struct cbq_class *cl)
 	return cl;
 }
 
-static __inline__ struct sk_buff *
+static inline struct sk_buff *
 cbq_dequeue_prio(struct Qdisc *sch, int prio)
 {
 	struct cbq_sched_data *q = qdisc_priv(sch);
@@ -840,7 +842,7 @@ cbq_dequeue_prio(struct Qdisc *sch, int prio)
 
 			if (cl->deficit <= 0) {
 				/* Class exhausted its allotment per
-				   this round. Switch to the next one.
+				 * this round. Switch to the next one.
 				 */
 				deficit = 1;
 				cl->deficit += cl->quantum;
@@ -850,8 +852,8 @@ cbq_dequeue_prio(struct Qdisc *sch, int prio)
 			skb = cl->q->dequeue(cl->q);
 
 			/* Class did not give us any skb :-(
-			   It could occur even if cl->q->q.qlen != 0
-			   f.e. if cl->q == "tbf"
+			 * It could occur even if cl->q->q.qlen != 0
+			 * f.e. if cl->q == "tbf"
 			 */
 			if (skb == NULL)
 				goto skip_class;
@@ -880,7 +882,7 @@ cbq_dequeue_prio(struct Qdisc *sch, int prio)
 skip_class:
 			if (cl->q->q.qlen == 0 || prio != cl->cpriority) {
 				/* Class is empty or penalized.
-				   Unlink it from active chain.
+				 * Unlink it from active chain.
 				 */
 				cl_prev->next_alive = cl->next_alive;
 				cl->next_alive = NULL;
@@ -919,14 +921,14 @@ next_class:
 	return NULL;
 }
 
-static __inline__ struct sk_buff *
+static inline struct sk_buff *
 cbq_dequeue_1(struct Qdisc *sch)
 {
 	struct cbq_sched_data *q = qdisc_priv(sch);
 	struct sk_buff *skb;
-	unsigned activemask;
+	unsigned int activemask;
 
-	activemask = q->activemask&0xFF;
+	activemask = q->activemask & 0xFF;
 	while (activemask) {
 		int prio = ffz(~activemask);
 		activemask &= ~(1<<prio);
@@ -951,11 +953,11 @@ cbq_dequeue(struct Qdisc *sch)
 	if (q->tx_class) {
 		psched_tdiff_t incr2;
 		/* Time integrator. We calculate EOS time
-		   by adding expected packet transmission time.
-		   If real time is greater, we warp artificial clock,
-		   so that:
-
-		   cbq_time = max(real_time, work);
+		 * by adding expected packet transmission time.
+		 * If real time is greater, we warp artificial clock,
+		 * so that:
+		 *
+		 * cbq_time = max(real_time, work);
 		 */
 		incr2 = L2T(&q->link, q->tx_len);
 		q->now += incr2;
@@ -977,22 +979,22 @@ cbq_dequeue(struct Qdisc *sch)
 		}
 
 		/* All the classes are overlimit.
-
-		   It is possible, if:
-
-		   1. Scheduler is empty.
-		   2. Toplevel cutoff inhibited borrowing.
-		   3. Root class is overlimit.
-
-		   Reset 2d and 3d conditions and retry.
-
-		   Note, that NS and cbq-2.0 are buggy, peeking
-		   an arbitrary class is appropriate for ancestor-only
-		   sharing, but not for toplevel algorithm.
-
-		   Our version is better, but slower, because it requires
-		   two passes, but it is unavoidable with top-level sharing.
-		*/
+		 *
+		 * It is possible, if:
+		 *
+		 * 1. Scheduler is empty.
+		 * 2. Toplevel cutoff inhibited borrowing.
+		 * 3. Root class is overlimit.
+		 *
+		 * Reset 2d and 3d conditions and retry.
+		 *
+		 * Note, that NS and cbq-2.0 are buggy, peeking
+		 * an arbitrary class is appropriate for ancestor-only
+		 * sharing, but not for toplevel algorithm.
+		 *
+		 * Our version is better, but slower, because it requires
+		 * two passes, but it is unavoidable with top-level sharing.
+		 */
 
 		if (q->toplevel == TC_CBQ_MAXLEVEL &&
 		    q->link.undertime == PSCHED_PASTPERFECT)
@@ -1003,7 +1005,8 @@ cbq_dequeue(struct Qdisc *sch)
 	}
 
 	/* No packets in scheduler or nobody wants to give them to us :-(
-	   Sigh... start watchdog timer in the last case. */
+	 * Sigh... start watchdog timer in the last case.
+	 */
 
 	if (sch->q.qlen) {
 		sch->qstats.overlimits++;
@@ -1025,13 +1028,14 @@ static void cbq_adjust_levels(struct cbq_class *this)
 		int level = 0;
 		struct cbq_class *cl;
 
-		if ((cl = this->children) != NULL) {
+		cl = this->children;
+		if (cl) {
 			do {
 				if (cl->level > level)
 					level = cl->level;
 			} while ((cl = cl->sibling) != this->children);
 		}
-		this->level = level+1;
+		this->level = level + 1;
 	} while ((this = this->tparent) != NULL);
 }
 
@@ -1047,14 +1051,15 @@ static void cbq_normalize_quanta(struct cbq_sched_data *q, int prio)
 	for (h = 0; h < q->clhash.hashsize; h++) {
 		hlist_for_each_entry(cl, n, &q->clhash.hash[h], common.hnode) {
 			/* BUGGGG... Beware! This expression suffer of
-			   arithmetic overflows!
+			 * arithmetic overflows!
 			 */
 			if (cl->priority == prio) {
 				cl->quantum = (cl->weight*cl->allot*q->nclasses[prio])/
 					q->quanta[prio];
 			}
 			if (cl->quantum <= 0 || cl->quantum>32*qdisc_dev(cl->qdisc)->mtu) {
-				printk(KERN_WARNING "CBQ: class %08x has bad quantum==%ld, repaired.\n", cl->common.classid, cl->quantum);
+				pr_warning("CBQ: class %08x has bad quantum==%ld, repaired.\n",
+					   cl->common.classid, cl->quantum);
 				cl->quantum = qdisc_dev(cl->qdisc)->mtu/2 + 1;
 			}
 		}
@@ -1065,18 +1070,18 @@ static void cbq_sync_defmap(struct cbq_class *cl)
 {
 	struct cbq_sched_data *q = qdisc_priv(cl->qdisc);
 	struct cbq_class *split = cl->split;
-	unsigned h;
+	unsigned int h;
 	int i;
 
 	if (split == NULL)
 		return;
 
-	for (i=0; i<=TC_PRIO_MAX; i++) {
-		if (split->defaults[i] == cl && !(cl->defmap&(1<<i)))
+	for (i = 0; i <= TC_PRIO_MAX; i++) {
+		if (split->defaults[i] == cl && !(cl->defmap & (1<<i)))
 			split->defaults[i] = NULL;
 	}
 
-	for (i=0; i<=TC_PRIO_MAX; i++) {
+	for (i = 0; i <= TC_PRIO_MAX; i++) {
 		int level = split->level;
 
 		if (split->defaults[i])
@@ -1089,7 +1094,7 @@ static void cbq_sync_defmap(struct cbq_class *cl)
 			hlist_for_each_entry(c, n, &q->clhash.hash[h],
 					     common.hnode) {
 				if (c->split == split && c->level < level &&
-				    c->defmap&(1<<i)) {
+				    c->defmap & (1<<i)) {
 					split->defaults[i] = c;
 					level = c->level;
 				}
@@ -1103,7 +1108,8 @@ static void cbq_change_defmap(struct cbq_class *cl, u32 splitid, u32 def, u32 ma
 	struct cbq_class *split = NULL;
 
 	if (splitid == 0) {
-		if ((split = cl->split) == NULL)
+		split = cl->split;
+		if (!split)
 			return;
 		splitid = split->common.classid;
 	}
@@ -1121,9 +1127,9 @@ static void cbq_change_defmap(struct cbq_class *cl, u32 splitid, u32 def, u32 ma
 		cl->defmap = 0;
 		cbq_sync_defmap(cl);
 		cl->split = split;
-		cl->defmap = def&mask;
+		cl->defmap = def & mask;
 	} else
-		cl->defmap = (cl->defmap&~mask)|(def&mask);
+		cl->defmap = (cl->defmap & ~mask) | (def & mask);
 
 	cbq_sync_defmap(cl);
 }
@@ -1136,7 +1142,7 @@ static void cbq_unlink_class(struct cbq_class *this)
 	qdisc_class_hash_remove(&q->clhash, &this->common);
 
 	if (this->tparent) {
-		clp=&this->sibling;
+		clp = &this->sibling;
 		cl = *clp;
 		do {
 			if (cl == this) {
@@ -1175,7 +1181,7 @@ static void cbq_link_class(struct cbq_class *this)
 	}
 }
 
-static unsigned int cbq_drop(struct Qdisc* sch)
+static unsigned int cbq_drop(struct Qdisc *sch)
 {
 	struct cbq_sched_data *q = qdisc_priv(sch);
 	struct cbq_class *cl, *cl_head;
@@ -1183,7 +1189,8 @@ static unsigned int cbq_drop(struct Qdisc* sch)
 	unsigned int len;
 
 	for (prio = TC_CBQ_MAXPRIO; prio >= 0; prio--) {
-		if ((cl_head = q->active[prio]) == NULL)
+		cl_head = q->active[prio];
+		if (!cl_head)
 			continue;
 
 		cl = cl_head;
@@ -1200,13 +1207,13 @@ static unsigned int cbq_drop(struct Qdisc* sch)
 }
 
 static void
-cbq_reset(struct Qdisc* sch)
+cbq_reset(struct Qdisc *sch)
 {
 	struct cbq_sched_data *q = qdisc_priv(sch);
 	struct cbq_class *cl;
 	struct hlist_node *n;
 	int prio;
-	unsigned h;
+	unsigned int h;
 
 	q->activemask = 0;
 	q->pmask = 0;
@@ -1238,21 +1245,21 @@ cbq_reset(struct Qdisc* sch)
 
 static int cbq_set_lss(struct cbq_class *cl, struct tc_cbq_lssopt *lss)
 {
-	if (lss->change&TCF_CBQ_LSS_FLAGS) {
-		cl->share = (lss->flags&TCF_CBQ_LSS_ISOLATED) ? NULL : cl->tparent;
-		cl->borrow = (lss->flags&TCF_CBQ_LSS_BOUNDED) ? NULL : cl->tparent;
+	if (lss->change & TCF_CBQ_LSS_FLAGS) {
+		cl->share = (lss->flags & TCF_CBQ_LSS_ISOLATED) ? NULL : cl->tparent;
+		cl->borrow = (lss->flags & TCF_CBQ_LSS_BOUNDED) ? NULL : cl->tparent;
 	}
-	if (lss->change&TCF_CBQ_LSS_EWMA)
+	if (lss->change & TCF_CBQ_LSS_EWMA)
 		cl->ewma_log = lss->ewma_log;
-	if (lss->change&TCF_CBQ_LSS_AVPKT)
+	if (lss->change & TCF_CBQ_LSS_AVPKT)
 		cl->avpkt = lss->avpkt;
-	if (lss->change&TCF_CBQ_LSS_MINIDLE)
+	if (lss->change & TCF_CBQ_LSS_MINIDLE)
 		cl->minidle = -(long)lss->minidle;
-	if (lss->change&TCF_CBQ_LSS_MAXIDLE) {
+	if (lss->change & TCF_CBQ_LSS_MAXIDLE) {
 		cl->maxidle = lss->maxidle;
 		cl->avgidle = lss->maxidle;
 	}
-	if (lss->change&TCF_CBQ_LSS_OFFTIME)
+	if (lss->change & TCF_CBQ_LSS_OFFTIME)
 		cl->offtime = lss->offtime;
 	return 0;
 }
@@ -1280,10 +1287,10 @@ static int cbq_set_wrr(struct cbq_class *cl, struct tc_cbq_wrropt *wrr)
 	if (wrr->weight)
 		cl->weight = wrr->weight;
 	if (wrr->priority) {
-		cl->priority = wrr->priority-1;
+		cl->priority = wrr->priority - 1;
 		cl->cpriority = cl->priority;
 		if (cl->priority >= cl->priority2)
-			cl->priority2 = TC_CBQ_MAXPRIO-1;
+			cl->priority2 = TC_CBQ_MAXPRIO - 1;
 	}
 
 	cbq_addprio(q, cl);
@@ -1300,10 +1307,10 @@ static int cbq_set_overlimit(struct cbq_class *cl, struct tc_cbq_ovl *ovl)
 		cl->overlimit = cbq_ovl_delay;
 		break;
 	case TC_CBQ_OVL_LOWPRIO:
-		if (ovl->priority2-1 >= TC_CBQ_MAXPRIO ||
-		    ovl->priority2-1 <= cl->priority)
+		if (ovl->priority2 - 1 >= TC_CBQ_MAXPRIO ||
+		    ovl->priority2 - 1 <= cl->priority)
 			return -EINVAL;
-		cl->priority2 = ovl->priority2-1;
+		cl->priority2 = ovl->priority2 - 1;
 		cl->overlimit = cbq_ovl_lowprio;
 		break;
 	case TC_CBQ_OVL_DROP:
@@ -1382,9 +1389,9 @@ static int cbq_init(struct Qdisc *sch, struct nlattr *opt)
 	if (!q->link.q)
 		q->link.q = &noop_qdisc;
 
-	q->link.priority = TC_CBQ_MAXPRIO-1;
-	q->link.priority2 = TC_CBQ_MAXPRIO-1;
-	q->link.cpriority = TC_CBQ_MAXPRIO-1;
+	q->link.priority = TC_CBQ_MAXPRIO - 1;
+	q->link.priority2 = TC_CBQ_MAXPRIO - 1;
+	q->link.cpriority = TC_CBQ_MAXPRIO - 1;
 	q->link.ovl_strategy = TC_CBQ_OVL_CLASSIC;
 	q->link.overlimit = cbq_ovl_classic;
 	q->link.allot = psched_mtu(qdisc_dev(sch));
@@ -1415,7 +1422,7 @@ put_rtab:
 	return err;
 }
 
-static __inline__ int cbq_dump_rate(struct sk_buff *skb, struct cbq_class *cl)
+static int cbq_dump_rate(struct sk_buff *skb, struct cbq_class *cl)
 {
 	unsigned char *b = skb_tail_pointer(skb);
 
@@ -1427,7 +1434,7 @@ nla_put_failure:
 	return -1;
 }
 
-static __inline__ int cbq_dump_lss(struct sk_buff *skb, struct cbq_class *cl)
+static int cbq_dump_lss(struct sk_buff *skb, struct cbq_class *cl)
 {
 	unsigned char *b = skb_tail_pointer(skb);
 	struct tc_cbq_lssopt opt;
@@ -1452,15 +1459,15 @@ nla_put_failure:
 	return -1;
 }
 
-static __inline__ int cbq_dump_wrr(struct sk_buff *skb, struct cbq_class *cl)
+static int cbq_dump_wrr(struct sk_buff *skb, struct cbq_class *cl)
 {
 	unsigned char *b = skb_tail_pointer(skb);
 	struct tc_cbq_wrropt opt;
 
 	opt.flags = 0;
 	opt.allot = cl->allot;
-	opt.priority = cl->priority+1;
-	opt.cpriority = cl->cpriority+1;
+	opt.priority = cl->priority + 1;
+	opt.cpriority = cl->cpriority + 1;
 	opt.weight = cl->weight;
 	NLA_PUT(skb, TCA_CBQ_WRROPT, sizeof(opt), &opt);
 	return skb->len;
@@ -1470,13 +1477,13 @@ nla_put_failure:
 	return -1;
 }
 
-static __inline__ int cbq_dump_ovl(struct sk_buff *skb, struct cbq_class *cl)
+static int cbq_dump_ovl(struct sk_buff *skb, struct cbq_class *cl)
 {
 	unsigned char *b = skb_tail_pointer(skb);
 	struct tc_cbq_ovl opt;
 
 	opt.strategy = cl->ovl_strategy;
-	opt.priority2 = cl->priority2+1;
+	opt.priority2 = cl->priority2 + 1;
 	opt.pad = 0;
 	opt.penalty = cl->penalty;
 	NLA_PUT(skb, TCA_CBQ_OVL_STRATEGY, sizeof(opt), &opt);
@@ -1487,7 +1494,7 @@ nla_put_failure:
 	return -1;
 }
 
-static __inline__ int cbq_dump_fopt(struct sk_buff *skb, struct cbq_class *cl)
+static int cbq_dump_fopt(struct sk_buff *skb, struct cbq_class *cl)
 {
 	unsigned char *b = skb_tail_pointer(skb);
 	struct tc_cbq_fopt opt;
@@ -1506,7 +1513,7 @@ nla_put_failure:
 }
 
 #ifdef CONFIG_NET_CLS_ACT
-static __inline__ int cbq_dump_police(struct sk_buff *skb, struct cbq_class *cl)
+static int cbq_dump_police(struct sk_buff *skb, struct cbq_class *cl)
 {
 	unsigned char *b = skb_tail_pointer(skb);
 	struct tc_cbq_police opt;
@@ -1570,7 +1577,7 @@ static int
 cbq_dump_class(struct Qdisc *sch, unsigned long arg,
 	       struct sk_buff *skb, struct tcmsg *tcm)
 {
-	struct cbq_class *cl = (struct cbq_class*)arg;
+	struct cbq_class *cl = (struct cbq_class *)arg;
 	struct nlattr *nest;
 
 	if (cl->tparent)
@@ -1598,7 +1605,7 @@ cbq_dump_class_stats(struct Qdisc *sch, unsigned long arg,
 	struct gnet_dump *d)
 {
 	struct cbq_sched_data *q = qdisc_priv(sch);
-	struct cbq_class *cl = (struct cbq_class*)arg;
+	struct cbq_class *cl = (struct cbq_class *)arg;
 
 	cl->qstats.qlen = cl->q->q.qlen;
 	cl->xstats.avgidle = cl->avgidle;
@@ -1618,7 +1625,7 @@ cbq_dump_class_stats(struct Qdisc *sch, unsigned long arg,
 static int cbq_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
 		     struct Qdisc **old)
 {
-	struct cbq_class *cl = (struct cbq_class*)arg;
+	struct cbq_class *cl = (struct cbq_class *)arg;
 
 	if (new == NULL) {
 		new = qdisc_create_dflt(sch->dev_queue,
@@ -1641,10 +1648,9 @@ static int cbq_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
 	return 0;
 }
 
-static struct Qdisc *
-cbq_leaf(struct Qdisc *sch, unsigned long arg)
+static struct Qdisc *cbq_leaf(struct Qdisc *sch, unsigned long arg)
 {
-	struct cbq_class *cl = (struct cbq_class*)arg;
+	struct cbq_class *cl = (struct cbq_class *)arg;
 
 	return cl->q;
 }
@@ -1683,13 +1689,12 @@ static void cbq_destroy_class(struct Qdisc *sch, struct cbq_class *cl)
 		kfree(cl);
 }
 
-static void
-cbq_destroy(struct Qdisc* sch)
+static void cbq_destroy(struct Qdisc *sch)
 {
 	struct cbq_sched_data *q = qdisc_priv(sch);
 	struct hlist_node *n, *next;
 	struct cbq_class *cl;
-	unsigned h;
+	unsigned int h;
 
 #ifdef CONFIG_NET_CLS_ACT
 	q->rx_class = NULL;
@@ -1713,7 +1718,7 @@ cbq_destroy(struct Qdisc* sch)
 
 static void cbq_put(struct Qdisc *sch, unsigned long arg)
 {
-	struct cbq_class *cl = (struct cbq_class*)arg;
+	struct cbq_class *cl = (struct cbq_class *)arg;
 
 	if (--cl->refcnt == 0) {
 #ifdef CONFIG_NET_CLS_ACT
@@ -1736,7 +1741,7 @@ cbq_change_class(struct Qdisc *sch, u32 classid, u32 parentid, struct nlattr **t
 {
 	int err;
 	struct cbq_sched_data *q = qdisc_priv(sch);
-	struct cbq_class *cl = (struct cbq_class*)*arg;
+	struct cbq_class *cl = (struct cbq_class *)*arg;
 	struct nlattr *opt = tca[TCA_OPTIONS];
 	struct nlattr *tb[TCA_CBQ_MAX + 1];
 	struct cbq_class *parent;
@@ -1828,13 +1833,14 @@ cbq_change_class(struct Qdisc *sch, u32 classid, u32 parentid, struct nlattr **t
 
 	if (classid) {
 		err = -EINVAL;
-		if (TC_H_MAJ(classid^sch->handle) || cbq_class_lookup(q, classid))
+		if (TC_H_MAJ(classid ^ sch->handle) ||
+		    cbq_class_lookup(q, classid))
 			goto failure;
 	} else {
 		int i;
-		classid = TC_H_MAKE(sch->handle,0x8000);
+		classid = TC_H_MAKE(sch->handle, 0x8000);
 
-		for (i=0; i<0x8000; i++) {
+		for (i = 0; i < 0x8000; i++) {
 			if (++q->hgenerator >= 0x8000)
 				q->hgenerator = 1;
 			if (cbq_class_lookup(q, classid|q->hgenerator) == NULL)
@@ -1891,11 +1897,11 @@ cbq_change_class(struct Qdisc *sch, u32 classid, u32 parentid, struct nlattr **t
 	cl->minidle = -0x7FFFFFFF;
 	cbq_set_lss(cl, nla_data(tb[TCA_CBQ_LSSOPT]));
 	cbq_set_wrr(cl, nla_data(tb[TCA_CBQ_WRROPT]));
-	if (cl->ewma_log==0)
+	if (cl->ewma_log == 0)
 		cl->ewma_log = q->link.ewma_log;
-	if (cl->maxidle==0)
+	if (cl->maxidle == 0)
 		cl->maxidle = q->link.maxidle;
-	if (cl->avpkt==0)
+	if (cl->avpkt == 0)
 		cl->avpkt = q->link.avpkt;
 	cl->overlimit = cbq_ovl_classic;
 	if (tb[TCA_CBQ_OVL_STRATEGY])
@@ -1921,7 +1927,7 @@ failure:
 static int cbq_delete(struct Qdisc *sch, unsigned long arg)
 {
 	struct cbq_sched_data *q = qdisc_priv(sch);
-	struct cbq_class *cl = (struct cbq_class*)arg;
+	struct cbq_class *cl = (struct cbq_class *)arg;
 	unsigned int qlen;
 
 	if (cl->filters || cl->children || cl == &q->link)
@@ -1979,7 +1985,7 @@ static unsigned long cbq_bind_filter(struct Qdisc *sch, unsigned long parent,
 				     u32 classid)
 {
 	struct cbq_sched_data *q = qdisc_priv(sch);
-	struct cbq_class *p = (struct cbq_class*)parent;
+	struct cbq_class *p = (struct cbq_class *)parent;
 	struct cbq_class *cl = cbq_class_lookup(q, classid);
 
 	if (cl) {
@@ -1993,7 +1999,7 @@ static unsigned long cbq_bind_filter(struct Qdisc *sch, unsigned long parent,
 
 static void cbq_unbind_filter(struct Qdisc *sch, unsigned long arg)
 {
-	struct cbq_class *cl = (struct cbq_class*)arg;
+	struct cbq_class *cl = (struct cbq_class *)arg;
 
 	cl->filters--;
 }
@@ -2003,7 +2009,7 @@ static void cbq_walk(struct Qdisc *sch, struct qdisc_walker *arg)
 	struct cbq_sched_data *q = qdisc_priv(sch);
 	struct cbq_class *cl;
 	struct hlist_node *n;
-	unsigned h;
+	unsigned int h;
 
 	if (arg->stop)
 		return;
diff --git a/net/sched/sch_dsmark.c b/net/sched/sch_dsmark.c
index 60f4bdd..4970d56 100644
--- a/net/sched/sch_dsmark.c
+++ b/net/sched/sch_dsmark.c
@@ -137,10 +137,10 @@ static int dsmark_change(struct Qdisc *sch, u32 classid, u32 parent,
 		mask = nla_get_u8(tb[TCA_DSMARK_MASK]);
 
 	if (tb[TCA_DSMARK_VALUE])
-		p->value[*arg-1] = nla_get_u8(tb[TCA_DSMARK_VALUE]);
+		p->value[*arg - 1] = nla_get_u8(tb[TCA_DSMARK_VALUE]);
 
 	if (tb[TCA_DSMARK_MASK])
-		p->mask[*arg-1] = mask;
+		p->mask[*arg - 1] = mask;
 
 	err = 0;
 
@@ -155,8 +155,8 @@ static int dsmark_delete(struct Qdisc *sch, unsigned long arg)
 	if (!dsmark_valid_index(p, arg))
 		return -EINVAL;
 
-	p->mask[arg-1] = 0xff;
-	p->value[arg-1] = 0;
+	p->mask[arg - 1] = 0xff;
+	p->value[arg - 1] = 0;
 
 	return 0;
 }
@@ -175,7 +175,7 @@ static void dsmark_walk(struct Qdisc *sch, struct qdisc_walker *walker)
 		if (p->mask[i] == 0xff && !p->value[i])
 			goto ignore;
 		if (walker->count >= walker->skip) {
-			if (walker->fn(sch, i+1, walker) < 0) {
+			if (walker->fn(sch, i + 1, walker) < 0) {
 				walker->stop = 1;
 				break;
 			}
@@ -304,9 +304,8 @@ static struct sk_buff *dsmark_dequeue(struct Qdisc *sch)
 		 * and don't need yet another qdisc as a bypass.
 		 */
 		if (p->mask[index] != 0xff || p->value[index])
-			printk(KERN_WARNING
-			       "dsmark_dequeue: unsupported protocol %d\n",
-			       ntohs(skb->protocol));
+			pr_warning("dsmark_dequeue: unsupported protocol %d\n",
+				   ntohs(skb->protocol));
 		break;
 	}
 
@@ -424,14 +423,14 @@ static int dsmark_dump_class(struct Qdisc *sch, unsigned long cl,
 	if (!dsmark_valid_index(p, cl))
 		return -EINVAL;
 
-	tcm->tcm_handle = TC_H_MAKE(TC_H_MAJ(sch->handle), cl-1);
+	tcm->tcm_handle = TC_H_MAKE(TC_H_MAJ(sch->handle), cl - 1);
 	tcm->tcm_info = p->q->handle;
 
 	opts = nla_nest_start(skb, TCA_OPTIONS);
 	if (opts == NULL)
 		goto nla_put_failure;
-	NLA_PUT_U8(skb, TCA_DSMARK_MASK, p->mask[cl-1]);
-	NLA_PUT_U8(skb, TCA_DSMARK_VALUE, p->value[cl-1]);
+	NLA_PUT_U8(skb, TCA_DSMARK_MASK, p->mask[cl - 1]);
+	NLA_PUT_U8(skb, TCA_DSMARK_VALUE, p->value[cl - 1]);
 
 	return nla_nest_end(skb, opts);
 
diff --git a/net/sched/sch_fifo.c b/net/sched/sch_fifo.c
index aa4d633..b3075f8 100644
--- a/net/sched/sch_fifo.c
+++ b/net/sched/sch_fifo.c
@@ -19,12 +19,11 @@
 
 /* 1 band FIFO pseudo-"scheduler" */
 
-struct fifo_sched_data
-{
+struct fifo_sched_data {
 	u32 limit;
 };
 
-static int bfifo_enqueue(struct sk_buff *skb, struct Qdisc* sch)
+static int bfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 {
 	struct fifo_sched_data *q = qdisc_priv(sch);
 
@@ -34,7 +33,7 @@ static int bfifo_enqueue(struct sk_buff *skb, struct Qdisc* sch)
 	return qdisc_reshape_fail(skb, sch);
 }
 
-static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc* sch)
+static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 {
 	struct fifo_sched_data *q = qdisc_priv(sch);
 
@@ -44,7 +43,7 @@ static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc* sch)
 	return qdisc_reshape_fail(skb, sch);
 }
 
-static int pfifo_tail_enqueue(struct sk_buff *skb, struct Qdisc* sch)
+static int pfifo_tail_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 {
 	struct sk_buff *skb_head;
 	struct fifo_sched_data *q = qdisc_priv(sch);
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 34dc598..33917c3 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -87,8 +87,8 @@ static inline int handle_dev_cpu_collision(struct sk_buff *skb,
 		 */
 		kfree_skb(skb);
 		if (net_ratelimit())
-			printk(KERN_WARNING "Dead loop on netdevice %s, "
-			       "fix it urgently!\n", dev_queue->dev->name);
+			pr_warning("Dead loop on netdevice %s, fix it urgently!\n",
+				   dev_queue->dev->name);
 		ret = qdisc_qlen(q);
 	} else {
 		/*
@@ -137,8 +137,8 @@ int sch_direct_xmit(struct sk_buff *skb, struct Qdisc *q,
 	} else {
 		/* Driver returned NETDEV_TX_BUSY - requeue skb */
 		if (unlikely (ret != NETDEV_TX_BUSY && net_ratelimit()))
-			printk(KERN_WARNING "BUG %s code %d qlen %d\n",
-			       dev->name, ret, q->q.qlen);
+			pr_warning("BUG %s code %d qlen %d\n",
+				   dev->name, ret, q->q.qlen);
 
 		ret = dev_requeue_skb(skb, q);
 	}
@@ -412,8 +412,9 @@ static struct Qdisc noqueue_qdisc = {
 };
 
 
-static const u8 prio2band[TC_PRIO_MAX+1] =
-	{ 1, 2, 2, 2, 1, 2, 0, 0 , 1, 1, 1, 1, 1, 1, 1, 1 };
+static const u8 prio2band[TC_PRIO_MAX + 1] = {
+	1, 2, 2, 2, 1, 2, 0, 0 , 1, 1, 1, 1, 1, 1, 1, 1
+};
 
 /* 3-band FIFO queue: old style, but should be a bit faster than
    generic prio+fifo combination.
@@ -445,7 +446,7 @@ static inline struct sk_buff_head *band2list(struct pfifo_fast_priv *priv,
 	return priv->q + band;
 }
 
-static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc* qdisc)
+static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc *qdisc)
 {
 	if (skb_queue_len(&qdisc->q) < qdisc_dev(qdisc)->tx_queue_len) {
 		int band = prio2band[skb->priority & TC_PRIO_MAX];
@@ -460,7 +461,7 @@ static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc* qdisc)
 	return qdisc_drop(skb, qdisc);
 }
 
-static struct sk_buff *pfifo_fast_dequeue(struct Qdisc* qdisc)
+static struct sk_buff *pfifo_fast_dequeue(struct Qdisc *qdisc)
 {
 	struct pfifo_fast_priv *priv = qdisc_priv(qdisc);
 	int band = bitmap2band[priv->bitmap];
@@ -479,7 +480,7 @@ static struct sk_buff *pfifo_fast_dequeue(struct Qdisc* qdisc)
 	return NULL;
 }
 
-static struct sk_buff *pfifo_fast_peek(struct Qdisc* qdisc)
+static struct sk_buff *pfifo_fast_peek(struct Qdisc *qdisc)
 {
 	struct pfifo_fast_priv *priv = qdisc_priv(qdisc);
 	int band = bitmap2band[priv->bitmap];
@@ -493,7 +494,7 @@ static struct sk_buff *pfifo_fast_peek(struct Qdisc* qdisc)
 	return NULL;
 }
 
-static void pfifo_fast_reset(struct Qdisc* qdisc)
+static void pfifo_fast_reset(struct Qdisc *qdisc)
 {
 	int prio;
 	struct pfifo_fast_priv *priv = qdisc_priv(qdisc);
@@ -510,7 +511,7 @@ static int pfifo_fast_dump(struct Qdisc *qdisc, struct sk_buff *skb)
 {
 	struct tc_prio_qopt opt = { .bands = PFIFO_FAST_BANDS };
 
-	memcpy(&opt.priomap, prio2band, TC_PRIO_MAX+1);
+	memcpy(&opt.priomap, prio2band, TC_PRIO_MAX + 1);
 	NLA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);
 	return skb->len;
 
@@ -679,20 +680,18 @@ static void attach_one_default_qdisc(struct net_device *dev,
 				     struct netdev_queue *dev_queue,
 				     void *_unused)
 {
-	struct Qdisc *qdisc;
+	struct Qdisc *qdisc = &noqueue_qdisc;
 
 	if (dev->tx_queue_len) {
 		qdisc = qdisc_create_dflt(dev_queue,
 					  &pfifo_fast_ops, TC_H_ROOT);
 		if (!qdisc) {
-			printk(KERN_INFO "%s: activation failed\n", dev->name);
+			netdev_info(dev, "activation failed\n");
 			return;
 		}
 
 		/* Can by-pass the queue discipline for default qdisc */
 		qdisc->flags |= TCQ_F_CAN_BYPASS;
-	} else {
-		qdisc =  &noqueue_qdisc;
 	}
 	dev_queue->qdisc_sleeping = qdisc;
 }
diff --git a/net/sched/sch_gred.c b/net/sched/sch_gred.c
index 51dcc2a..b9493a0 100644
--- a/net/sched/sch_gred.c
+++ b/net/sched/sch_gred.c
@@ -32,8 +32,7 @@
 struct gred_sched_data;
 struct gred_sched;
 
-struct gred_sched_data
-{
+struct gred_sched_data {
 	u32		limit;		/* HARD maximal queue length	*/
 	u32      	DP;		/* the drop pramaters */
 	u32		bytesin;	/* bytes seen on virtualQ so far*/
@@ -50,8 +49,7 @@ enum {
 	GRED_RIO_MODE,
 };
 
-struct gred_sched
-{
+struct gred_sched {
 	struct gred_sched_data *tab[MAX_DPs];
 	unsigned long	flags;
 	u32		red_flags;
@@ -150,17 +148,18 @@ static inline int gred_use_harddrop(struct gred_sched *t)
 	return t->red_flags & TC_RED_HARDDROP;
 }
 
-static int gred_enqueue(struct sk_buff *skb, struct Qdisc* sch)
+static int gred_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 {
-	struct gred_sched_data *q=NULL;
-	struct gred_sched *t= qdisc_priv(sch);
+	struct gred_sched_data *q = NULL;
+	struct gred_sched *t = qdisc_priv(sch);
 	unsigned long qavg = 0;
 	u16 dp = tc_index_to_dp(skb);
 
-	if (dp >= t->DPs  || (q = t->tab[dp]) == NULL) {
+	if (dp >= t->DPs || (q = t->tab[dp]) == NULL) {
 		dp = t->def;
 
-		if ((q = t->tab[dp]) == NULL) {
+		q = t->tab[dp];
+		if (!q) {
 			/* Pass through packets not assigned to a DP
 			 * if no default DP has been configured. This
 			 * allows for DP flows to be left untouched.
@@ -183,7 +182,7 @@ static int gred_enqueue(struct sk_buff *skb, struct Qdisc* sch)
 		for (i = 0; i < t->DPs; i++) {
 			if (t->tab[i] && t->tab[i]->prio < q->prio &&
 			    !red_is_idling(&t->tab[i]->parms))
-				qavg +=t->tab[i]->parms.qavg;
+				qavg += t->tab[i]->parms.qavg;
 		}
 
 	}
@@ -203,28 +202,28 @@ static int gred_enqueue(struct sk_buff *skb, struct Qdisc* sch)
 		gred_store_wred_set(t, q);
 
 	switch (red_action(&q->parms, q->parms.qavg + qavg)) {
-		case RED_DONT_MARK:
-			break;
-
-		case RED_PROB_MARK:
-			sch->qstats.overlimits++;
-			if (!gred_use_ecn(t) || !INET_ECN_set_ce(skb)) {
-				q->stats.prob_drop++;
-				goto congestion_drop;
-			}
-
-			q->stats.prob_mark++;
-			break;
-
-		case RED_HARD_MARK:
-			sch->qstats.overlimits++;
-			if (gred_use_harddrop(t) || !gred_use_ecn(t) ||
-			    !INET_ECN_set_ce(skb)) {
-				q->stats.forced_drop++;
-				goto congestion_drop;
-			}
-			q->stats.forced_mark++;
-			break;
+	case RED_DONT_MARK:
+		break;
+
+	case RED_PROB_MARK:
+		sch->qstats.overlimits++;
+		if (!gred_use_ecn(t) || !INET_ECN_set_ce(skb)) {
+			q->stats.prob_drop++;
+			goto congestion_drop;
+		}
+
+		q->stats.prob_mark++;
+		break;
+
+	case RED_HARD_MARK:
+		sch->qstats.overlimits++;
+		if (gred_use_harddrop(t) || !gred_use_ecn(t) ||
+		    !INET_ECN_set_ce(skb)) {
+			q->stats.forced_drop++;
+			goto congestion_drop;
+		}
+		q->stats.forced_mark++;
+		break;
 	}
 
 	if (q->backlog + qdisc_pkt_len(skb) <= q->limit) {
@@ -241,7 +240,7 @@ congestion_drop:
 	return NET_XMIT_CN;
 }
 
-static struct sk_buff *gred_dequeue(struct Qdisc* sch)
+static struct sk_buff *gred_dequeue(struct Qdisc *sch)
 {
 	struct sk_buff *skb;
 	struct gred_sched *t = qdisc_priv(sch);
@@ -254,9 +253,9 @@ static struct sk_buff *gred_dequeue(struct Qdisc* sch)
 
 		if (dp >= t->DPs || (q = t->tab[dp]) == NULL) {
 			if (net_ratelimit())
-				printk(KERN_WARNING "GRED: Unable to relocate "
-				       "VQ 0x%x after dequeue, screwing up "
-				       "backlog.\n", tc_index_to_dp(skb));
+				pr_warning("GRED: Unable to relocate VQ 0x%x "
+					   "after dequeue, screwing up "
+					   "backlog.\n", tc_index_to_dp(skb));
 		} else {
 			q->backlog -= qdisc_pkt_len(skb);
 
@@ -273,7 +272,7 @@ static struct sk_buff *gred_dequeue(struct Qdisc* sch)
 	return NULL;
 }
 
-static unsigned int gred_drop(struct Qdisc* sch)
+static unsigned int gred_drop(struct Qdisc *sch)
 {
 	struct sk_buff *skb;
 	struct gred_sched *t = qdisc_priv(sch);
@@ -286,9 +285,9 @@ static unsigned int gred_drop(struct Qdisc* sch)
 
 		if (dp >= t->DPs || (q = t->tab[dp]) == NULL) {
 			if (net_ratelimit())
-				printk(KERN_WARNING "GRED: Unable to relocate "
-				       "VQ 0x%x while dropping, screwing up "
-				       "backlog.\n", tc_index_to_dp(skb));
+				pr_warning("GRED: Unable to relocate VQ 0x%x "
+					   "while dropping, screwing up "
+					   "backlog.\n", tc_index_to_dp(skb));
 		} else {
 			q->backlog -= len;
 			q->stats.other++;
@@ -308,7 +307,7 @@ static unsigned int gred_drop(struct Qdisc* sch)
 
 }
 
-static void gred_reset(struct Qdisc* sch)
+static void gred_reset(struct Qdisc *sch)
 {
 	int i;
 	struct gred_sched *t = qdisc_priv(sch);
@@ -369,8 +368,8 @@ static inline int gred_change_table_def(struct Qdisc *sch, struct nlattr *dps)
 
 	for (i = table->DPs; i < MAX_DPs; i++) {
 		if (table->tab[i]) {
-			printk(KERN_WARNING "GRED: Warning: Destroying "
-			       "shadowed VQ 0x%x\n", i);
+			pr_warning("GRED: Warning: Destroying "
+				   "shadowed VQ 0x%x\n", i);
 			gred_destroy_vq(table->tab[i]);
 			table->tab[i] = NULL;
 		}
diff --git a/net/sched/sch_hfsc.c b/net/sched/sch_hfsc.c
index 2e45791..dea4009 100644
--- a/net/sched/sch_hfsc.c
+++ b/net/sched/sch_hfsc.c
@@ -81,8 +81,7 @@
  *   that are expensive on 32-bit architectures.
  */
 
-struct internal_sc
-{
+struct internal_sc {
 	u64	sm1;	/* scaled slope of the 1st segment */
 	u64	ism1;	/* scaled inverse-slope of the 1st segment */
 	u64	dx;	/* the x-projection of the 1st segment */
@@ -92,8 +91,7 @@ struct internal_sc
 };
 
 /* runtime service curve */
-struct runtime_sc
-{
+struct runtime_sc {
 	u64	x;	/* current starting position on x-axis */
 	u64	y;	/* current starting position on y-axis */
 	u64	sm1;	/* scaled slope of the 1st segment */
@@ -104,15 +102,13 @@ struct runtime_sc
 	u64	ism2;	/* scaled inverse-slope of the 2nd segment */
 };
 
-enum hfsc_class_flags
-{
+enum hfsc_class_flags {
 	HFSC_RSC = 0x1,
 	HFSC_FSC = 0x2,
 	HFSC_USC = 0x4
 };
 
-struct hfsc_class
-{
+struct hfsc_class {
 	struct Qdisc_class_common cl_common;
 	unsigned int	refcnt;		/* usage count */
 
@@ -140,8 +136,8 @@ struct hfsc_class
 	u64	cl_cumul;		/* cumulative work in bytes done by
 					   real-time criteria */
 
-	u64 	cl_d;			/* deadline*/
-	u64 	cl_e;			/* eligible time */
+	u64	cl_d;			/* deadline*/
+	u64	cl_e;			/* eligible time */
 	u64	cl_vt;			/* virtual time */
 	u64	cl_f;			/* time when this class will fit for
 					   link-sharing, max(myf, cfmin) */
@@ -176,8 +172,7 @@ struct hfsc_class
 	unsigned long	cl_nactive;	/* number of active children */
 };
 
-struct hfsc_sched
-{
+struct hfsc_sched {
 	u16	defcls;				/* default class id */
 	struct hfsc_class root;			/* root class */
 	struct Qdisc_class_hash clhash;		/* class hash */
@@ -693,7 +688,7 @@ init_vf(struct hfsc_class *cl, unsigned int len)
 		if (go_active) {
 			n = rb_last(&cl->cl_parent->vt_tree);
 			if (n != NULL) {
-				max_cl = rb_entry(n, struct hfsc_class,vt_node);
+				max_cl = rb_entry(n, struct hfsc_class, vt_node);
 				/*
 				 * set vt to the average of the min and max
 				 * classes.  if the parent's period didn't
@@ -1177,8 +1172,10 @@ hfsc_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr)
 			return NULL;
 		}
 #endif
-		if ((cl = (struct hfsc_class *)res.class) == NULL) {
-			if ((cl = hfsc_find_class(res.classid, sch)) == NULL)
+		cl = (struct hfsc_class *)res.class;
+		if (!cl) {
+			cl = hfsc_find_class(res.classid, sch);
+			if (!cl)
 				break; /* filter selected invalid classid */
 			if (cl->level >= head->level)
 				break; /* filter may only point downwards */
@@ -1316,7 +1313,7 @@ hfsc_dump_sc(struct sk_buff *skb, int attr, struct internal_sc *sc)
 	return -1;
 }
 
-static inline int
+static int
 hfsc_dump_curves(struct sk_buff *skb, struct hfsc_class *cl)
 {
 	if ((cl->cl_flags & HFSC_RSC) &&
@@ -1420,7 +1417,8 @@ hfsc_schedule_watchdog(struct Qdisc *sch)
 	struct hfsc_class *cl;
 	u64 next_time = 0;
 
-	if ((cl = eltree_get_minel(q)) != NULL)
+	cl = eltree_get_minel(q);
+	if (cl)
 		next_time = cl->cl_e;
 	if (q->root.cl_cfmin != 0) {
 		if (next_time == 0 || next_time > q->root.cl_cfmin)
@@ -1626,7 +1624,8 @@ hfsc_dequeue(struct Qdisc *sch)
 	 * find the class with the minimum deadline among
 	 * the eligible classes.
 	 */
-	if ((cl = eltree_get_mindl(q, cur_time)) != NULL) {
+	cl = eltree_get_mindl(q, cur_time);
+	if (cl) {
 		realtime = 1;
 	} else {
 		/*
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
index 984c1b0..3e86fd3 100644
--- a/net/sched/sch_htb.c
+++ b/net/sched/sch_htb.c
@@ -99,9 +99,10 @@ struct htb_class {
 			struct rb_root feed[TC_HTB_NUMPRIO];	/* feed trees */
 			struct rb_node *ptr[TC_HTB_NUMPRIO];	/* current class ptr */
 			/* When class changes from state 1->2 and disconnects from
-			   parent's feed then we lost ptr value and start from the
-			   first child again. Here we store classid of the
-			   last valid ptr (used when ptr is NULL). */
+			 * parent's feed then we lost ptr value and start from the
+			 * first child again. Here we store classid of the
+			 * last valid ptr (used when ptr is NULL).
+			 */
 			u32 last_ptr_id[TC_HTB_NUMPRIO];
 		} inner;
 	} un;
@@ -185,7 +186,7 @@ static inline struct htb_class *htb_find(u32 handle, struct Qdisc *sch)
  * have no valid leaf we try to use MAJOR:default leaf. It still unsuccessfull
  * then finish and return direct queue.
  */
-#define HTB_DIRECT (struct htb_class*)-1
+#define HTB_DIRECT ((struct htb_class *)-1L)
 
 static struct htb_class *htb_classify(struct sk_buff *skb, struct Qdisc *sch,
 				      int *qerr)
@@ -197,11 +198,13 @@ static struct htb_class *htb_classify(struct sk_buff *skb, struct Qdisc *sch,
 	int result;
 
 	/* allow to select class by setting skb->priority to valid classid;
-	   note that nfmark can be used too by attaching filter fw with no
-	   rules in it */
+	 * note that nfmark can be used too by attaching filter fw with no
+	 * rules in it
+	 */
 	if (skb->priority == sch->handle)
 		return HTB_DIRECT;	/* X:0 (direct flow) selected */
-	if ((cl = htb_find(skb->priority, sch)) != NULL && cl->level == 0)
+	cl = htb_find(skb->priority, sch);
+	if (cl && cl->level == 0)
 		return cl;
 
 	*qerr = NET_XMIT_SUCCESS | __NET_XMIT_BYPASS;
@@ -216,10 +219,12 @@ static struct htb_class *htb_classify(struct sk_buff *skb, struct Qdisc *sch,
 			return NULL;
 		}
 #endif
-		if ((cl = (void *)res.class) == NULL) {
+		cl = (void *)res.class;
+		if (!cl) {
 			if (res.classid == sch->handle)
 				return HTB_DIRECT;	/* X:0 (direct flow) */
-			if ((cl = htb_find(res.classid, sch)) == NULL)
+			cl = htb_find(res.classid, sch);
+			if (!cl)
 				break;	/* filter selected invalid classid */
 		}
 		if (!cl->level)
@@ -378,7 +383,8 @@ static void htb_activate_prios(struct htb_sched *q, struct htb_class *cl)
 
 			if (p->un.inner.feed[prio].rb_node)
 				/* parent already has its feed in use so that
-				   reset bit in mask as parent is already ok */
+				 * reset bit in mask as parent is already ok
+				 */
 				mask &= ~(1 << prio);
 
 			htb_add_to_id_tree(p->un.inner.feed + prio, cl, prio);
@@ -413,8 +419,9 @@ static void htb_deactivate_prios(struct htb_sched *q, struct htb_class *cl)
 
 			if (p->un.inner.ptr[prio] == cl->node + prio) {
 				/* we are removing child which is pointed to from
-				   parent feed - forget the pointer but remember
-				   classid */
+				 * parent feed - forget the pointer but remember
+				 * classid
+				 */
 				p->un.inner.last_ptr_id[prio] = cl->common.classid;
 				p->un.inner.ptr[prio] = NULL;
 			}
@@ -664,8 +671,9 @@ static psched_time_t htb_do_events(struct htb_sched *q, int level,
 				   unsigned long start)
 {
 	/* don't run for longer than 2 jiffies; 2 is used instead of
-	   1 to simplify things when jiffy is going to be incremented
-	   too soon */
+	 * 1 to simplify things when jiffy is going to be incremented
+	 * too soon
+	 */
 	unsigned long stop_at = start + 2;
 	while (time_before(jiffies, stop_at)) {
 		struct htb_class *cl;
@@ -688,7 +696,7 @@ static psched_time_t htb_do_events(struct htb_sched *q, int level,
 
 	/* too much load - let's continue after a break for scheduling */
 	if (!(q->warned & HTB_WARN_TOOMANYEVENTS)) {
-		printk(KERN_WARNING "htb: too many events!\n");
+		pr_warning("htb: too many events!\n");
 		q->warned |= HTB_WARN_TOOMANYEVENTS;
 	}
 
@@ -696,7 +704,8 @@ static psched_time_t htb_do_events(struct htb_sched *q, int level,
 }
 
 /* Returns class->node+prio from id-tree where classe's id is >= id. NULL
-   is no such one exists. */
+ * is no such one exists.
+ */
 static struct rb_node *htb_id_find_next_upper(int prio, struct rb_node *n,
 					      u32 id)
 {
@@ -740,12 +749,14 @@ static struct htb_class *htb_lookup_leaf(struct rb_root *tree, int prio,
 	for (i = 0; i < 65535; i++) {
 		if (!*sp->pptr && *sp->pid) {
 			/* ptr was invalidated but id is valid - try to recover
-			   the original or next ptr */
+			 * the original or next ptr
+			 */
 			*sp->pptr =
 			    htb_id_find_next_upper(prio, sp->root, *sp->pid);
 		}
 		*sp->pid = 0;	/* ptr is valid now so that remove this hint as it
-				   can become out of date quickly */
+				 * can become out of date quickly
+				 */
 		if (!*sp->pptr) {	/* we are at right end; rewind & go up */
 			*sp->pptr = sp->root;
 			while ((*sp->pptr)->rb_left)
@@ -773,7 +784,8 @@ static struct htb_class *htb_lookup_leaf(struct rb_root *tree, int prio,
 }
 
 /* dequeues packet at given priority and level; call only if
-   you are sure that there is active class at prio/level */
+ * you are sure that there is active class at prio/level
+ */
 static struct sk_buff *htb_dequeue_tree(struct htb_sched *q, int prio,
 					int level)
 {
@@ -790,9 +802,10 @@ next:
 			return NULL;
 
 		/* class can be empty - it is unlikely but can be true if leaf
-		   qdisc drops packets in enqueue routine or if someone used
-		   graft operation on the leaf since last dequeue;
-		   simply deactivate and skip such class */
+		 * qdisc drops packets in enqueue routine or if someone used
+		 * graft operation on the leaf since last dequeue;
+		 * simply deactivate and skip such class
+		 */
 		if (unlikely(cl->un.leaf.q->q.qlen == 0)) {
 			struct htb_class *next;
 			htb_deactivate(q, cl);
@@ -832,7 +845,8 @@ next:
 					  ptr[0]) + prio);
 		}
 		/* this used to be after charge_class but this constelation
-		   gives us slightly better performance */
+		 * gives us slightly better performance
+		 */
 		if (!cl->un.leaf.q->q.qlen)
 			htb_deactivate(q, cl);
 		htb_charge_class(q, cl, level, skb);
@@ -882,6 +896,7 @@ static struct sk_buff *htb_dequeue(struct Qdisc *sch)
 		m = ~q->row_mask[level];
 		while (m != (int)(-1)) {
 			int prio = ffz(m);
+
 			m |= 1 << prio;
 			skb = htb_dequeue_tree(q, prio, level);
 			if (likely(skb != NULL)) {
@@ -989,13 +1004,12 @@ static int htb_init(struct Qdisc *sch, struct nlattr *opt)
 		return err;
 
 	if (tb[TCA_HTB_INIT] == NULL) {
-		printk(KERN_ERR "HTB: hey probably you have bad tc tool ?\n");
+		pr_err("HTB: hey probably you have bad tc tool ?\n");
 		return -EINVAL;
 	}
 	gopt = nla_data(tb[TCA_HTB_INIT]);
 	if (gopt->version != HTB_VER >> 16) {
-		printk(KERN_ERR
-		       "HTB: need tc/htb version %d (minor is %d), you have %d\n",
+		pr_err("HTB: need tc/htb version %d (minor is %d), you have %d\n",
 		       HTB_VER >> 16, HTB_VER & 0xffff, gopt->version);
 		return -EINVAL;
 	}
@@ -1208,9 +1222,10 @@ static void htb_destroy(struct Qdisc *sch)
 	cancel_work_sync(&q->work);
 	qdisc_watchdog_cancel(&q->watchdog);
 	/* This line used to be after htb_destroy_class call below
-	   and surprisingly it worked in 2.4. But it must precede it
-	   because filter need its target class alive to be able to call
-	   unbind_filter on it (without Oops). */
+	 * and surprisingly it worked in 2.4. But it must precede it
+	 * because filter need its target class alive to be able to call
+	 * unbind_filter on it (without Oops).
+	 */
 	tcf_destroy_chain(&q->filter_list);
 
 	for (i = 0; i < q->clhash.hashsize; i++) {
@@ -1344,11 +1359,12 @@ static int htb_change_class(struct Qdisc *sch, u32 classid,
 
 		/* check maximal depth */
 		if (parent && parent->parent && parent->parent->level < 2) {
-			printk(KERN_ERR "htb: tree is too deep\n");
+			pr_err("htb: tree is too deep\n");
 			goto failure;
 		}
 		err = -ENOBUFS;
-		if ((cl = kzalloc(sizeof(*cl), GFP_KERNEL)) == NULL)
+		cl = kzalloc(sizeof(*cl), GFP_KERNEL);
+		if (!cl)
 			goto failure;
 
 		err = gen_new_estimator(&cl->bstats, &cl->rate_est,
@@ -1368,8 +1384,9 @@ static int htb_change_class(struct Qdisc *sch, u32 classid,
 			RB_CLEAR_NODE(&cl->node[prio]);
 
 		/* create leaf qdisc early because it uses kmalloc(GFP_KERNEL)
-		   so that can't be used inside of sch_tree_lock
-		   -- thanks to Karlis Peisenieks */
+		 * so that can't be used inside of sch_tree_lock
+		 * -- thanks to Karlis Peisenieks
+		 */
 		new_q = qdisc_create_dflt(sch->dev_queue,
 					  &pfifo_qdisc_ops, classid);
 		sch_tree_lock(sch);
@@ -1421,17 +1438,18 @@ static int htb_change_class(struct Qdisc *sch, u32 classid,
 	}
 
 	/* it used to be a nasty bug here, we have to check that node
-	   is really leaf before changing cl->un.leaf ! */
+	 * is really leaf before changing cl->un.leaf !
+	 */
 	if (!cl->level) {
 		cl->quantum = rtab->rate.rate / q->rate2quantum;
 		if (!hopt->quantum && cl->quantum < 1000) {
-			printk(KERN_WARNING
+			pr_warning(
 			       "HTB: quantum of class %X is small. Consider r2q change.\n",
 			       cl->common.classid);
 			cl->quantum = 1000;
 		}
 		if (!hopt->quantum && cl->quantum > 200000) {
-			printk(KERN_WARNING
+			pr_warning(
 			       "HTB: quantum of class %X is big. Consider r2q change.\n",
 			       cl->common.classid);
 			cl->quantum = 200000;
@@ -1480,13 +1498,13 @@ static unsigned long htb_bind_filter(struct Qdisc *sch, unsigned long parent,
 	struct htb_class *cl = htb_find(classid, sch);
 
 	/*if (cl && !cl->level) return 0;
-	   The line above used to be there to prevent attaching filters to
-	   leaves. But at least tc_index filter uses this just to get class
-	   for other reasons so that we have to allow for it.
-	   ----
-	   19.6.2002 As Werner explained it is ok - bind filter is just
-	   another way to "lock" the class - unlike "get" this lock can
-	   be broken by class during destroy IIUC.
+	 * The line above used to be there to prevent attaching filters to
+	 * leaves. But at least tc_index filter uses this just to get class
+	 * for other reasons so that we have to allow for it.
+	 * ----
+	 * 19.6.2002 As Werner explained it is ok - bind filter is just
+	 * another way to "lock" the class - unlike "get" this lock can
+	 * be broken by class during destroy IIUC.
 	 */
 	if (cl)
 		cl->filter_cnt++;
diff --git a/net/sched/sch_multiq.c b/net/sched/sch_multiq.c
index 21f13da..820f2a7 100644
--- a/net/sched/sch_multiq.c
+++ b/net/sched/sch_multiq.c
@@ -156,7 +156,7 @@ static unsigned int multiq_drop(struct Qdisc *sch)
 	unsigned int len;
 	struct Qdisc *qdisc;
 
-	for (band = q->bands-1; band >= 0; band--) {
+	for (band = q->bands - 1; band >= 0; band--) {
 		qdisc = q->queues[band];
 		if (qdisc->ops->drop) {
 			len = qdisc->ops->drop(qdisc);
@@ -265,7 +265,7 @@ static int multiq_init(struct Qdisc *sch, struct nlattr *opt)
 	for (i = 0; i < q->max_bands; i++)
 		q->queues[i] = &noop_qdisc;
 
-	err = multiq_tune(sch,opt);
+	err = multiq_tune(sch, opt);
 
 	if (err)
 		kfree(q->queues);
@@ -346,7 +346,7 @@ static int multiq_dump_class(struct Qdisc *sch, unsigned long cl,
 	struct multiq_sched_data *q = qdisc_priv(sch);
 
 	tcm->tcm_handle |= TC_H_MIN(cl);
-	tcm->tcm_info = q->queues[cl-1]->handle;
+	tcm->tcm_info = q->queues[cl - 1]->handle;
 	return 0;
 }
 
@@ -378,7 +378,7 @@ static void multiq_walk(struct Qdisc *sch, struct qdisc_walker *arg)
 			arg->count++;
 			continue;
 		}
-		if (arg->fn(sch, band+1, arg) < 0) {
+		if (arg->fn(sch, band + 1, arg) < 0) {
 			arg->stop = 1;
 			break;
 		}
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c
index 1c4bce8..c2bbbe6 100644
--- a/net/sched/sch_netem.c
+++ b/net/sched/sch_netem.c
@@ -211,8 +211,8 @@ static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 	}
 
 	cb = netem_skb_cb(skb);
-	if (q->gap == 0 || 		/* not doing reordering */
-	    q->counter < q->gap || 	/* inside last reordering gap */
+	if (q->gap == 0 ||		/* not doing reordering */
+	    q->counter < q->gap ||	/* inside last reordering gap */
 	    q->reorder < get_crandom(&q->reorder_cor)) {
 		psched_time_t now;
 		psched_tdiff_t delay;
@@ -249,7 +249,7 @@ static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 	return ret;
 }
 
-static unsigned int netem_drop(struct Qdisc* sch)
+static unsigned int netem_drop(struct Qdisc *sch)
 {
 	struct netem_sched_data *q = qdisc_priv(sch);
 	unsigned int len = 0;
diff --git a/net/sched/sch_prio.c b/net/sched/sch_prio.c
index 966158d..3bea31e 100644
--- a/net/sched/sch_prio.c
+++ b/net/sched/sch_prio.c
@@ -22,8 +22,7 @@
 #include <net/pkt_sched.h>
 
 
-struct prio_sched_data
-{
+struct prio_sched_data {
 	int bands;
 	struct tcf_proto *filter_list;
 	u8  prio2band[TC_PRIO_MAX+1];
@@ -54,7 +53,7 @@ prio_classify(struct sk_buff *skb, struct Qdisc *sch, int *qerr)
 		if (!q->filter_list || err < 0) {
 			if (TC_H_MAJ(band))
 				band = 0;
-			return q->queues[q->prio2band[band&TC_PRIO_MAX]];
+			return q->queues[q->prio2band[band & TC_PRIO_MAX]];
 		}
 		band = res.classid;
 	}
@@ -107,7 +106,7 @@ static struct sk_buff *prio_peek(struct Qdisc *sch)
 	return NULL;
 }
 
-static struct sk_buff *prio_dequeue(struct Qdisc* sch)
+static struct sk_buff *prio_dequeue(struct Qdisc *sch)
 {
 	struct prio_sched_data *q = qdisc_priv(sch);
 	int prio;
@@ -124,7 +123,7 @@ static struct sk_buff *prio_dequeue(struct Qdisc* sch)
 
 }
 
-static unsigned int prio_drop(struct Qdisc* sch)
+static unsigned int prio_drop(struct Qdisc *sch)
 {
 	struct prio_sched_data *q = qdisc_priv(sch);
 	int prio;
@@ -143,24 +142,24 @@ static unsigned int prio_drop(struct Qdisc* sch)
 
 
 static void
-prio_reset(struct Qdisc* sch)
+prio_reset(struct Qdisc *sch)
 {
 	int prio;
 	struct prio_sched_data *q = qdisc_priv(sch);
 
-	for (prio=0; prio<q->bands; prio++)
+	for (prio = 0; prio < q->bands; prio++)
 		qdisc_reset(q->queues[prio]);
 	sch->q.qlen = 0;
 }
 
 static void
-prio_destroy(struct Qdisc* sch)
+prio_destroy(struct Qdisc *sch)
 {
 	int prio;
 	struct prio_sched_data *q = qdisc_priv(sch);
 
 	tcf_destroy_chain(&q->filter_list);
-	for (prio=0; prio<q->bands; prio++)
+	for (prio = 0; prio < q->bands; prio++)
 		qdisc_destroy(q->queues[prio]);
 }
 
@@ -177,7 +176,7 @@ static int prio_tune(struct Qdisc *sch, struct nlattr *opt)
 	if (qopt->bands > TCQ_PRIO_BANDS || qopt->bands < 2)
 		return -EINVAL;
 
-	for (i=0; i<=TC_PRIO_MAX; i++) {
+	for (i = 0; i <= TC_PRIO_MAX; i++) {
 		if (qopt->priomap[i] >= qopt->bands)
 			return -EINVAL;
 	}
@@ -186,7 +185,7 @@ static int prio_tune(struct Qdisc *sch, struct nlattr *opt)
 	q->bands = qopt->bands;
 	memcpy(q->prio2band, qopt->priomap, TC_PRIO_MAX+1);
 
-	for (i=q->bands; i<TCQ_PRIO_BANDS; i++) {
+	for (i = q->bands; i < TCQ_PRIO_BANDS; i++) {
 		struct Qdisc *child = q->queues[i];
 		q->queues[i] = &noop_qdisc;
 		if (child != &noop_qdisc) {
@@ -196,9 +195,10 @@ static int prio_tune(struct Qdisc *sch, struct nlattr *opt)
 	}
 	sch_tree_unlock(sch);
 
-	for (i=0; i<q->bands; i++) {
+	for (i = 0; i < q->bands; i++) {
 		if (q->queues[i] == &noop_qdisc) {
 			struct Qdisc *child, *old;
+
 			child = qdisc_create_dflt(sch->dev_queue,
 						  &pfifo_qdisc_ops,
 						  TC_H_MAKE(sch->handle, i + 1));
@@ -224,7 +224,7 @@ static int prio_init(struct Qdisc *sch, struct nlattr *opt)
 	struct prio_sched_data *q = qdisc_priv(sch);
 	int i;
 
-	for (i=0; i<TCQ_PRIO_BANDS; i++)
+	for (i = 0; i < TCQ_PRIO_BANDS; i++)
 		q->queues[i] = &noop_qdisc;
 
 	if (opt == NULL) {
@@ -232,7 +232,7 @@ static int prio_init(struct Qdisc *sch, struct nlattr *opt)
 	} else {
 		int err;
 
-		if ((err= prio_tune(sch, opt)) != 0)
+		if ((err = prio_tune(sch, opt)) != 0)
 			return err;
 	}
 	return 0;
@@ -245,7 +245,7 @@ static int prio_dump(struct Qdisc *sch, struct sk_buff *skb)
 	struct tc_prio_qopt opt;
 
 	opt.bands = q->bands;
-	memcpy(&opt.priomap, q->prio2band, TC_PRIO_MAX+1);
+	memcpy(&opt.priomap, q->prio2band, TC_PRIO_MAX + 1);
 
 	NLA_PUT(skb, TCA_OPTIONS, sizeof(opt), &opt);
 
@@ -342,7 +342,7 @@ static void prio_walk(struct Qdisc *sch, struct qdisc_walker *arg)
 			arg->count++;
 			continue;
 		}
-		if (arg->fn(sch, prio+1, arg) < 0) {
+		if (arg->fn(sch, prio + 1, arg) < 0) {
 			arg->stop = 1;
 			break;
 		}
@@ -350,7 +350,7 @@ static void prio_walk(struct Qdisc *sch, struct qdisc_walker *arg)
 	}
 }
 
-static struct tcf_proto ** prio_find_tcf(struct Qdisc *sch, unsigned long cl)
+static struct tcf_proto **prio_find_tcf(struct Qdisc *sch, unsigned long cl)
 {
 	struct prio_sched_data *q = qdisc_priv(sch);
 
diff --git a/net/sched/sch_red.c b/net/sched/sch_red.c
index a6009c5..6891575 100644
--- a/net/sched/sch_red.c
+++ b/net/sched/sch_red.c
@@ -36,8 +36,7 @@
 	if RED works correctly.
  */
 
-struct red_sched_data
-{
+struct red_sched_data {
 	u32			limit;		/* HARD maximal queue length */
 	unsigned char		flags;
 	struct red_parms	parms;
@@ -55,7 +54,7 @@ static inline int red_use_harddrop(struct red_sched_data *q)
 	return q->flags & TC_RED_HARDDROP;
 }
 
-static int red_enqueue(struct sk_buff *skb, struct Qdisc* sch)
+static int red_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 {
 	struct red_sched_data *q = qdisc_priv(sch);
 	struct Qdisc *child = q->qdisc;
@@ -67,29 +66,29 @@ static int red_enqueue(struct sk_buff *skb, struct Qdisc* sch)
 		red_end_of_idle_period(&q->parms);
 
 	switch (red_action(&q->parms, q->parms.qavg)) {
-		case RED_DONT_MARK:
-			break;
-
-		case RED_PROB_MARK:
-			sch->qstats.overlimits++;
-			if (!red_use_ecn(q) || !INET_ECN_set_ce(skb)) {
-				q->stats.prob_drop++;
-				goto congestion_drop;
-			}
-
-			q->stats.prob_mark++;
-			break;
-
-		case RED_HARD_MARK:
-			sch->qstats.overlimits++;
-			if (red_use_harddrop(q) || !red_use_ecn(q) ||
-			    !INET_ECN_set_ce(skb)) {
-				q->stats.forced_drop++;
-				goto congestion_drop;
-			}
-
-			q->stats.forced_mark++;
-			break;
+	case RED_DONT_MARK:
+		break;
+
+	case RED_PROB_MARK:
+		sch->qstats.overlimits++;
+		if (!red_use_ecn(q) || !INET_ECN_set_ce(skb)) {
+			q->stats.prob_drop++;
+			goto congestion_drop;
+		}
+
+		q->stats.prob_mark++;
+		break;
+
+	case RED_HARD_MARK:
+		sch->qstats.overlimits++;
+		if (red_use_harddrop(q) || !red_use_ecn(q) ||
+		    !INET_ECN_set_ce(skb)) {
+			q->stats.forced_drop++;
+			goto congestion_drop;
+		}
+
+		q->stats.forced_mark++;
+		break;
 	}
 
 	ret = qdisc_enqueue(skb, child);
@@ -107,7 +106,7 @@ congestion_drop:
 	return NET_XMIT_CN;
 }
 
-static struct sk_buff * red_dequeue(struct Qdisc* sch)
+static struct sk_buff *red_dequeue(struct Qdisc *sch)
 {
 	struct sk_buff *skb;
 	struct red_sched_data *q = qdisc_priv(sch);
@@ -122,7 +121,7 @@ static struct sk_buff * red_dequeue(struct Qdisc* sch)
 	return skb;
 }
 
-static struct sk_buff * red_peek(struct Qdisc* sch)
+static struct sk_buff *red_peek(struct Qdisc *sch)
 {
 	struct red_sched_data *q = qdisc_priv(sch);
 	struct Qdisc *child = q->qdisc;
@@ -130,7 +129,7 @@ static struct sk_buff * red_peek(struct Qdisc* sch)
 	return child->ops->peek(child);
 }
 
-static unsigned int red_drop(struct Qdisc* sch)
+static unsigned int red_drop(struct Qdisc *sch)
 {
 	struct red_sched_data *q = qdisc_priv(sch);
 	struct Qdisc *child = q->qdisc;
@@ -149,7 +148,7 @@ static unsigned int red_drop(struct Qdisc* sch)
 	return 0;
 }
 
-static void red_reset(struct Qdisc* sch)
+static void red_reset(struct Qdisc *sch)
 {
 	struct red_sched_data *q = qdisc_priv(sch);
 
@@ -216,7 +215,7 @@ static int red_change(struct Qdisc *sch, struct nlattr *opt)
 	return 0;
 }
 
-static int red_init(struct Qdisc* sch, struct nlattr *opt)
+static int red_init(struct Qdisc *sch, struct nlattr *opt)
 {
 	struct red_sched_data *q = qdisc_priv(sch);
 
diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c
index 239ec53..54a36f4 100644
--- a/net/sched/sch_sfq.c
+++ b/net/sched/sch_sfq.c
@@ -92,8 +92,7 @@ typedef unsigned char sfq_index;
  * while following values [SFQ_SLOTS ... SFQ_SLOTS + SFQ_DEPTH - 1]
  * are 'pointers' to dep[] array
  */
-struct sfq_head
-{
+struct sfq_head {
 	sfq_index	next;
 	sfq_index	prev;
 };
@@ -108,11 +107,10 @@ struct sfq_slot {
 	short		allot; /* credit for this slot */
 };
 
-struct sfq_sched_data
-{
+struct sfq_sched_data {
 /* Parameters */
 	int		perturb_period;
-	unsigned	quantum;	/* Allotment per round: MUST BE >= MTU */
+	unsigned int	quantum;	/* Allotment per round: MUST BE >= MTU */
 	int		limit;
 
 /* Variables */
@@ -137,12 +135,12 @@ static inline struct sfq_head *sfq_dep_head(struct sfq_sched_data *q, sfq_index
 	return &q->dep[val - SFQ_SLOTS];
 }
 
-static __inline__ unsigned sfq_fold_hash(struct sfq_sched_data *q, u32 h, u32 h1)
+static unsigned int sfq_fold_hash(struct sfq_sched_data *q, u32 h, u32 h1)
 {
 	return jhash_2words(h, h1, q->perturbation) & (SFQ_HASH_DIVISOR - 1);
 }
 
-static unsigned sfq_hash(struct sfq_sched_data *q, struct sk_buff *skb)
+static unsigned int sfq_hash(struct sfq_sched_data *q, struct sk_buff *skb)
 {
 	u32 h, h2;
 
@@ -157,13 +155,13 @@ static unsigned sfq_hash(struct sfq_sched_data *q, struct sk_buff *skb)
 		iph = ip_hdr(skb);
 		h = (__force u32)iph->daddr;
 		h2 = (__force u32)iph->saddr ^ iph->protocol;
-		if (iph->frag_off & htons(IP_MF|IP_OFFSET))
+		if (iph->frag_off & htons(IP_MF | IP_OFFSET))
 			break;
 		poff = proto_ports_offset(iph->protocol);
 		if (poff >= 0 &&
 		    pskb_network_may_pull(skb, iph->ihl * 4 + 4 + poff)) {
 			iph = ip_hdr(skb);
-			h2 ^= *(u32*)((void *)iph + iph->ihl * 4 + poff);
+			h2 ^= *(u32 *)((void *)iph + iph->ihl * 4 + poff);
 		}
 		break;
 	}
@@ -181,7 +179,7 @@ static unsigned sfq_hash(struct sfq_sched_data *q, struct sk_buff *skb)
 		if (poff >= 0 &&
 		    pskb_network_may_pull(skb, sizeof(*iph) + 4 + poff)) {
 			iph = ipv6_hdr(skb);
-			h2 ^= *(u32*)((void *)iph + sizeof(*iph) + poff);
+			h2 ^= *(u32 *)((void *)iph + sizeof(*iph) + poff);
 		}
 		break;
 	}
diff --git a/net/sched/sch_tbf.c b/net/sched/sch_tbf.c
index 77565e7..475edfb 100644
--- a/net/sched/sch_tbf.c
+++ b/net/sched/sch_tbf.c
@@ -97,8 +97,7 @@
 	changed the limit is not effective anymore.
 */
 
-struct tbf_sched_data
-{
+struct tbf_sched_data {
 /* Parameters */
 	u32		limit;		/* Maximal length of backlog: bytes */
 	u32		buffer;		/* Token bucket depth/rate: MUST BE >= MTU/B */
@@ -115,10 +114,10 @@ struct tbf_sched_data
 	struct qdisc_watchdog watchdog;	/* Watchdog timer */
 };
 
-#define L2T(q,L)   qdisc_l2t((q)->R_tab,L)
-#define L2T_P(q,L) qdisc_l2t((q)->P_tab,L)
+#define L2T(q, L)   qdisc_l2t((q)->R_tab, L)
+#define L2T_P(q, L) qdisc_l2t((q)->P_tab, L)
 
-static int tbf_enqueue(struct sk_buff *skb, struct Qdisc* sch)
+static int tbf_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 {
 	struct tbf_sched_data *q = qdisc_priv(sch);
 	int ret;
@@ -138,7 +137,7 @@ static int tbf_enqueue(struct sk_buff *skb, struct Qdisc* sch)
 	return NET_XMIT_SUCCESS;
 }
 
-static unsigned int tbf_drop(struct Qdisc* sch)
+static unsigned int tbf_drop(struct Qdisc *sch)
 {
 	struct tbf_sched_data *q = qdisc_priv(sch);
 	unsigned int len = 0;
@@ -150,7 +149,7 @@ static unsigned int tbf_drop(struct Qdisc* sch)
 	return len;
 }
 
-static struct sk_buff *tbf_dequeue(struct Qdisc* sch)
+static struct sk_buff *tbf_dequeue(struct Qdisc *sch)
 {
 	struct tbf_sched_data *q = qdisc_priv(sch);
 	struct sk_buff *skb;
@@ -209,7 +208,7 @@ static struct sk_buff *tbf_dequeue(struct Qdisc* sch)
 	return NULL;
 }
 
-static void tbf_reset(struct Qdisc* sch)
+static void tbf_reset(struct Qdisc *sch)
 {
 	struct tbf_sched_data *q = qdisc_priv(sch);
 
@@ -227,7 +226,7 @@ static const struct nla_policy tbf_policy[TCA_TBF_MAX + 1] = {
 	[TCA_TBF_PTAB]	= { .type = NLA_BINARY, .len = TC_RTAB_SIZE },
 };
 
-static int tbf_change(struct Qdisc* sch, struct nlattr *opt)
+static int tbf_change(struct Qdisc *sch, struct nlattr *opt)
 {
 	int err;
 	struct tbf_sched_data *q = qdisc_priv(sch);
@@ -236,7 +235,7 @@ static int tbf_change(struct Qdisc* sch, struct nlattr *opt)
 	struct qdisc_rate_table *rtab = NULL;
 	struct qdisc_rate_table *ptab = NULL;
 	struct Qdisc *child = NULL;
-	int max_size,n;
+	int max_size, n;
 
 	err = nla_parse_nested(tb, TCA_TBF_PTAB, opt, tbf_policy);
 	if (err < 0)
@@ -259,15 +258,18 @@ static int tbf_change(struct Qdisc* sch, struct nlattr *opt)
 	}
 
 	for (n = 0; n < 256; n++)
-		if (rtab->data[n] > qopt->buffer) break;
-	max_size = (n << qopt->rate.cell_log)-1;
+		if (rtab->data[n] > qopt->buffer)
+			break;
+	max_size = (n << qopt->rate.cell_log) - 1;
 	if (ptab) {
 		int size;
 
 		for (n = 0; n < 256; n++)
-			if (ptab->data[n] > qopt->mtu) break;
-		size = (n << qopt->peakrate.cell_log)-1;
-		if (size < max_size) max_size = size;
+			if (ptab->data[n] > qopt->mtu)
+				break;
+		size = (n << qopt->peakrate.cell_log) - 1;
+		if (size < max_size)
+			max_size = size;
 	}
 	if (max_size < 0)
 		goto done;
@@ -310,7 +312,7 @@ done:
 	return err;
 }
 
-static int tbf_init(struct Qdisc* sch, struct nlattr *opt)
+static int tbf_init(struct Qdisc *sch, struct nlattr *opt)
 {
 	struct tbf_sched_data *q = qdisc_priv(sch);
 
@@ -422,8 +424,7 @@ static void tbf_walk(struct Qdisc *sch, struct qdisc_walker *walker)
 	}
 }
 
-static const struct Qdisc_class_ops tbf_class_ops =
-{
+static const struct Qdisc_class_ops tbf_class_ops = {
 	.graft		=	tbf_graft,
 	.leaf		=	tbf_leaf,
 	.get		=	tbf_get,
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c
index 84ce48e..64c071d 100644
--- a/net/sched/sch_teql.c
+++ b/net/sched/sch_teql.c
@@ -53,8 +53,7 @@
       which will not break load balancing, though native slave
       traffic will have the highest priority.  */
 
-struct teql_master
-{
+struct teql_master {
 	struct Qdisc_ops qops;
 	struct net_device *dev;
 	struct Qdisc *slaves;
@@ -65,22 +64,21 @@ struct teql_master
 	unsigned long	tx_dropped;
 };
 
-struct teql_sched_data
-{
+struct teql_sched_data {
 	struct Qdisc *next;
 	struct teql_master *m;
 	struct neighbour *ncache;
 	struct sk_buff_head q;
 };
 
-#define NEXT_SLAVE(q) (((struct teql_sched_data*)qdisc_priv(q))->next)
+#define NEXT_SLAVE(q) (((struct teql_sched_data *)qdisc_priv(q))->next)
 
-#define FMASK (IFF_BROADCAST|IFF_POINTOPOINT)
+#define FMASK (IFF_BROADCAST | IFF_POINTOPOINT)
 
 /* "teql*" qdisc routines */
 
 static int
-teql_enqueue(struct sk_buff *skb, struct Qdisc* sch)
+teql_enqueue(struct sk_buff *skb, struct Qdisc *sch)
 {
 	struct net_device *dev = qdisc_dev(sch);
 	struct teql_sched_data *q = qdisc_priv(sch);
@@ -97,7 +95,7 @@ teql_enqueue(struct sk_buff *skb, struct Qdisc* sch)
 }
 
 static struct sk_buff *
-teql_dequeue(struct Qdisc* sch)
+teql_dequeue(struct Qdisc *sch)
 {
 	struct teql_sched_data *dat = qdisc_priv(sch);
 	struct netdev_queue *dat_queue;
@@ -117,13 +115,13 @@ teql_dequeue(struct Qdisc* sch)
 }
 
 static struct sk_buff *
-teql_peek(struct Qdisc* sch)
+teql_peek(struct Qdisc *sch)
 {
 	/* teql is meant to be used as root qdisc */
 	return NULL;
 }
 
-static __inline__ void
+static inline void
 teql_neigh_release(struct neighbour *n)
 {
 	if (n)
@@ -131,7 +129,7 @@ teql_neigh_release(struct neighbour *n)
 }
 
 static void
-teql_reset(struct Qdisc* sch)
+teql_reset(struct Qdisc *sch)
 {
 	struct teql_sched_data *dat = qdisc_priv(sch);
 
@@ -141,13 +139,14 @@ teql_reset(struct Qdisc* sch)
 }
 
 static void
-teql_destroy(struct Qdisc* sch)
+teql_destroy(struct Qdisc *sch)
 {
 	struct Qdisc *q, *prev;
 	struct teql_sched_data *dat = qdisc_priv(sch);
 	struct teql_master *master = dat->m;
 
-	if ((prev = master->slaves) != NULL) {
+	prev = master->slaves;
+	if (prev) {
 		do {
 			q = NEXT_SLAVE(prev);
 			if (q == sch) {
@@ -179,7 +178,7 @@ teql_destroy(struct Qdisc* sch)
 static int teql_qdisc_init(struct Qdisc *sch, struct nlattr *opt)
 {
 	struct net_device *dev = qdisc_dev(sch);
-	struct teql_master *m = (struct teql_master*)sch->ops;
+	struct teql_master *m = (struct teql_master *)sch->ops;
 	struct teql_sched_data *q = qdisc_priv(sch);
 
 	if (dev->hard_header_len > m->dev->hard_header_len)
@@ -290,7 +289,8 @@ restart:
 	nores = 0;
 	busy = 0;
 
-	if ((q = start) == NULL)
+	q = start;
+	if (!q)
 		goto drop;
 
 	do {
@@ -355,10 +355,10 @@ drop:
 
 static int teql_master_open(struct net_device *dev)
 {
-	struct Qdisc * q;
+	struct Qdisc *q;
 	struct teql_master *m = netdev_priv(dev);
 	int mtu = 0xFFFE;
-	unsigned flags = IFF_NOARP|IFF_MULTICAST;
+	unsigned int flags = IFF_NOARP | IFF_MULTICAST;
 
 	if (m->slaves == NULL)
 		return -EUNATCH;
@@ -426,7 +426,7 @@ static int teql_master_mtu(struct net_device *dev, int new_mtu)
 		do {
 			if (new_mtu > qdisc_dev(q)->mtu)
 				return -EINVAL;
-		} while ((q=NEXT_SLAVE(q)) != m->slaves);
+		} while ((q = NEXT_SLAVE(q)) != m->slaves);
 	}
 
 	dev->mtu = new_mtu;



^ permalink raw reply related

* Re: [PATCH v2] net: add Faraday FTMAC100 10/100 Ethernet driver
From: Po-Yu Chuang @ 2011-01-20  5:30 UTC (permalink / raw)
  To: Joe Perches
  Cc: netdev, linux-kernel, ratbert, bhutchings, eric.dumazet, dilinger
In-Reply-To: <1295455290.1952.22.camel@Joe-Laptop>

Dear Joe,

On Thu, Jan 20, 2011 at 12:41 AM, Joe Perches <joe@perches.com> wrote:
> On Wed, 2011-01-19 at 17:40 +0800, Po-Yu Chuang wrote:
>> Well, TBH, I don't like this style because if I changed the
>> function name, the indentation might need to be adjusted.
>
> No worries.  That could happen using either style.
>
> There's no required style so you can use what you are
> most comfortable doing.  It's not a big deal at all.
>
>> Even worse, I got an infeasible case :-(
>>
>> static struct ftmac100_rxdes *ftmac100_rx_locate_first_segment(
>>                                                              struct ftmac100 *priv)
>>
>> I know my function names are quite long, but I like them to be descriptive.
>> Do you really insist on it?
>
> Here's a common alternative style for this case:
>
> static struct ftmac100_rxdes *
> ftmac100_rx_locate_first_segment(struct ftmac100 *priv)

OK, I see.

One more question: how to deal with this? Add a local variable for the
2nd argument?

	ftmac100_set_receive_ring_base(priv,
				       priv->descs_dma_addr + offsetof(struct ftmac100_descs, rxdes));

best regards,
Po-Yu Chuang

^ permalink raw reply

* Re: [PATCH] e1000: add support for Marvell Alaska M88E1118R PHY
From: Jeff Kirsher @ 2011-01-20  6:51 UTC (permalink / raw)
  To: Florian Fainelli; +Cc: netdev, David Miller, Dirk Brandewie
In-Reply-To: <201101191009.44707.ffainelli@freebox.fr>

On Wed, Jan 19, 2011 at 01:09, Florian Fainelli <ffainelli@freebox.fr> wrote:
> From: Florian Fainelli <ffainelli@freebox.fr>
>
> This patch adds support for Marvell Alask M88E188R PHY chips. Support for
> other M88* PHYs is already there, so there is nothing more to add than its
> PHY id.
>
> Signed-off-by: Florian Fainelli <ffainelli@freebox.fr>
> CC: Dirk Brandewie <dirk.j.brandewie@intel.com>
> CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> ---

The patch itself looks fine.  I am concerned about validation.

Dirk - is there a chance that the ce4100 will use this PHY?  If so,
can you cover the validation?

For now I will add this to my net-next tree while I await word from Dirk.

-- 
Cheers,
Jeff

^ permalink raw reply

* Re: [PATCH 1/4] vxge: cleanup probe error paths
From: David Miller @ 2011-01-20  7:18 UTC (permalink / raw)
  To: jon.mason; +Cc: netdev, Sivakumar.Subramani, Sreenivasa.Honnur, Ramkrishna.Vepa
In-Reply-To: <20110120044225.GA11231@exar.com>

From: Jon Mason <jon.mason@exar.com>
Date: Wed, 19 Jan 2011 22:42:26 -0600

> My apologies for not specifying, please include this only in the
> net-next-2.6 tree.

Done, thanks.

^ permalink raw reply


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