Commit Graph

221895 Commits

Author SHA1 Message Date
Chris Metcalf
1deb9c5dfb arch/tile: don't allow user code to set the PL via ptrace or signal return
The kernel was allowing any component of the pt_regs to be updated either
by signal handlers writing to the stack, or by processes writing via
PTRACE_POKEUSR or PTRACE_SETREGS, which meant they could set their PL
up from 0 to 1 and get access to kernel code and data (or, in practice,
cause a kernel panic).  We now always reset the ex1 field, allowing the
user to set their ICS bit only.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2010-11-01 15:31:17 -04:00
Chris Metcalf
34a89d26bd arch/tile: correct double syscall restart for nested signals
This change is modelled on similar fixes for other architectures.
The pt_regs "faultnum" member is set to the trap (fault) number that
caused us to enter the kernel, and is INT_SWINT_1 for the syscall software
interrupt.  We already supported a pseudo value, INT_SWINT_1_SIGRETURN,
that we used for the rt_sigreturn syscall; it avoided the case where
one signal was handled, then we "tail-called" to another handler.

This change avoids the similar case where we start to call one handler,
then are preempted into another handler when we start trying to run
the first handler.  We clear ->faultnum after calling handle_signal(),
and to be paranoid also in the case where there was no signal to deliver.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2010-11-01 15:31:04 -04:00
Chris Metcalf
d59e609d65 arch/tile: avoid __must_check warning on one strict_strtol check
For the "initfree" boot argument it's not that big a deal, but
to avoid warnings in the code, we check for a valid value before
allowing the specified argument to override the kernel default.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2010-11-01 15:30:53 -04:00
Chris Metcalf
5d966115de arch/tile: bomb raw_local_irq_ to arch_local_irq_
This completes the tile migration to the new naming scheme for
the architecture-specific irq management code.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2010-11-01 15:30:42 -04:00
Chris Metcalf
38a6f42669 arch/tile: complete migration to new kmap_atomic scheme
This change makes KM_TYPE_NR independent of the actual deprecated
list of km_type values, which are no longer used in tile code anywhere.
For now we leave it set to 8, allowing that many nested mappings,
and thus reserving 32MB of address space.

A few remaining places using KM_* values were cleaned up as well.

Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
2010-11-01 15:30:36 -04:00
Paul Mundt
5aefa34fad sh: clkfwk: Fix up rate rounding error handling.
According to the linux/clk.h definition we should be handing back an
errno value or a valid rate. This fixes up the case where 0 can be
returned for invalid frequencies or cases where rounding has no
selectable candidate.

Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-11-01 15:30:31 -04:00
Stephen Hemminger
e5837cef1d Merge branch 'master' of ../mine 2010-11-01 14:37:23 -04:00
Stephen Hemminger
2932af344a beceem: update TODO list
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 14:18:16 -04:00
Stephen Hemminger
349fa79498 beceem: dump control packet information
Add control packet information is useful for debugging.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 14:10:41 -04:00
Stephen Hemminger
4ea4f7a0d3 beceem: change startup messages
Change the regsister/unregister routines to generate better
messages, and control arrival of new frames when USB device is
unplugged.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 14:06:24 -04:00
Stephen Hemminger
9c5d77009d beceem: don't overrun user buffer on read
Serious bug in original code, if app reads 10 bytes but 20 byte msg
received memory would get overwritten.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 13:59:01 -04:00
Stephen Hemminger
5cf084f44a beceem: eliminate unused bcm_jiffies
Unused, unneeded, and bogus.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 13:57:35 -04:00
Stephen Hemminger
78afa9990f beceem: fix definition of VLAN header type
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 13:54:21 -04:00
Stephen Hemminger
cacd92222d beceem: statistics and transmit queue changes
Use standard network statistics variables and routines.
Transmit counters are per queue, and skb mapping is already in
skb and does not need to be recomputed. Move SearchVcId to only
place it is used.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 13:53:30 -04:00
Stephen Hemminger
b5ebd85b2b beceem: do classification even if device is offline
Since classification and queue control are separate, allow
classification even if device is down now; this avoids races
on startup/shutdown.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:37:52 -04:00
Stephen Hemminger
429a5908fe beceem: off by one on queue index
The driver allocates 18 queues (0..16) are for traffic, and 17
is a bit bucket.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:37:48 -04:00
Stephen Hemminger
9dd47ee7dd beceem: make local functions static
Use namespace tool from kernel scripts to identify dead code and
functions that should be static.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:37:05 -04:00
Dmitry Artamonow
315daea948 USB: gadget: fix ethernet gadget crash in gether_setup
Crash is triggered by commit e6484930d7 ("net: allocate tx queues in
register_netdevice"), which moved tx netqueue creation into register_netdev.
So now calling netif_stop_queue() before register_netdev causes an oops.
Move netif_stop_queue() after net device registration to fix crash.

Signed-off-by: Dmitry Artamonow <mad_soft@inbox.ru>
Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-01 09:33:53 -07:00
Stephen Hemminger
4540055492 beceem: remove unused code to dump header
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:26:08 -04:00
Stephen Hemminger
ac1b1ae7f8 beceem: transmit code cleanup
Eliminate global variable in transmit path
The Leader can be on the stack, and get rid of unnecessary timeval.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:20:09 -04:00
Stephen Hemminger
1da9badcf0 beceem: allow multicast/broadcast
Even though wimax isn't really a broadcast medium, pretend it is.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:19:02 -04:00
Stephen Hemminger
9ec4475bf1 beceem: debug message format changes
Add more debug messages and make them similar to other drivers

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:18:36 -04:00
Stephen Hemminger
e4d46254da beceem: use get_seconds for elapsed time
get_seconds is lower overhead and fine if all driver wants to do
is keep track of seconds.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:14:26 -04:00
Stephen Hemminger
2d08748ae5 beceem: module initialization
Get rid of boot messages and put in correct place.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:14:01 -04:00
Stephen Hemminger
4fd64dd0c1 beceem: add network device message level control
Provide standard interface to control verbosity of debug messages

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:12:31 -04:00
Stephen Hemminger
e39e3be66e beceem: change format of debug message
Statistic point is now u32 (like it has to be).

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:06:44 -04:00
Stephen Hemminger
3349d95b3f beceem: clean up adapter structure
Remove dead fields, change fields that only have true/false to boolean;
and rearrange to save space.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 12:06:39 -04:00
David S. Miller
811718f071 ibm_newemac: Remove netif_stop_queue() in emac_probe().
Touching the queue state before register_netdev is not
allowed, and besides the queue state before ->open()
is "don't care"

Reported-by: Josh Boyer <jwboyer@gmail.com>
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-01 08:49:51 -07:00
Paul Mundt
be8cb585d2 ARM: mach-shmobile: include drivers/sh/Kconfig
Many of the config bit are presently duplicated between the platforms,
which will gradually cleaned up through centralization. For the moment we
expose some new INTC features through drivers/sh/Kconfig that the ARM
platforms presently don't enable, so make it generally available.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-11-01 11:38:06 -04:00
Stephen Hemminger
9e0a3169a3 beceem: create class on module installation
First step to supporting multiple devices, create device class
when module is initialized.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 10:24:16 -04:00
Stephen Hemminger
46c3790eb5 beceem: convert to kernel coding style
Change indentation etc, to conform to acceptable kernel style

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 10:16:29 -04:00
Ming Lei
b0786b430c usbnet: fix usb_autopm_get_interface failure(v1)
Since usbnet already took usb runtime pm, we have to
enable runtime pm for usb interface of usbnet, otherwise
usb_autopm_get_interface may return failure and cause
'ifconfig usb0 up' failed if USB_SUSPEND(RUNTIME_PM) is
enabled.

Cc: David Brownell <dbrownell@users.sourceforge.net>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: Joe Perches <joe@perches.com>
Cc: Oliver Neukum <oliver@neukum.org>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: stable@kernel.org
Signed-off-by: Ming Lei <tom.leiming@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-01 07:11:54 -07:00
Stephen Hemminger
5afb5145a1 beceem: remove useless debug function entry messages
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 10:07:20 -04:00
Stephen Hemminger
957ea3b570 beceem: remove problematic debug print messages
Not worth bothering to change printf format of messages which
are basically noise.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 10:05:34 -04:00
Stephen Hemminger
032100f652 beceem: remove unnecessary usb class
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 10:03:29 -04:00
Dr. David Alan Gilbert
6f9b901823 l2tp: kzalloc with swapped params in l2tp_dfs_seq_open
'sparse' spotted that the parameters to kzalloc in l2tp_dfs_seq_open
were swapped.

Tested on current git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
at 1792f17b72  build, boots and I can see that directory,
but there again I could see /sys/kernel/debug/l2tp with it swapped; I don't have
any l2tp in use.

Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-01 06:56:02 -07:00
Stephen Hemminger
ada692b09f beceem: fix character device ioctl
Sparse caught several places where ioctl interface was incorrectly using user
memory. Fix all the ioctl cases for casting and __user annotation.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:55:08 -04:00
Stephen Hemminger
c5ebe2278b beceem: fix printf format strings
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:54:53 -04:00
Stephen Hemminger
0980f2e814 beceem: reserve one queue for bit-bucket
This preserves the semantics of the original driver (unclassified packets
are dropped), but does it in a clean way; and fixes crash when packet
is sent to offline device.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:54:47 -04:00
Stephen Hemminger
3644c1a2f1 beceem: remove dead code
Remove commented out with '#if 0'

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:54:43 -04:00
Stephen Hemminger
9371105816 beceem: support multiple queues
Current kernels have multi-queue support which can be used by
this device. This has the advantage that a single type of traffic
will not block other types.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:54:39 -04:00
Stephen Hemminger
20f48653fc beceem: get rid of unnecessary inline usage
Many routines were tagged with inline_ but GCC does a better
job of deciding this.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:54:35 -04:00
Stephen Hemminger
26a0e39ac8 beceem: fold unregister_netdevice into AdapterFree
The function unregister_netdevice only called unregister_netdev.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:54:31 -04:00
Stephen Hemminger
7441698fe9 beceem: remove ARP spoofing
Linux support NOARP flag, so the whole Arp spoofing routines
are not needed.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:53:58 -04:00
Stephen Hemminger
6ba8fe77dd beceem: print better message on bad ioctl
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:52:42 -04:00
Stephen Hemminger
e614e28eac beceem: remove indirection to Adapter structure
Allocate Adapter structure as part of network device.

Signed-off-by: Stephen Hemminber <shemminger@vyatta.com>
2010-11-01 09:52:14 -04:00
Stephen Hemminger
2515ab628f beceem: Add proper carrier and link management
Start with carrier off.
Don't track up/down status in driver private flag.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:50:29 -04:00
Stephen Hemminger
d7affd0f58 beceem: reduce transmit queue len
Reduce transmit queue length to avoid excess buffering

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:50:23 -04:00
Stephen Hemminger
9c6e9aa830 beceem: remove dead code
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:50:16 -04:00
Stephen Hemminger
d21d6dde02 beceem: add ethtool support
This adds basic ethtool support to get driver info and settings

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:50:06 -04:00