Commit graph

99930 commits

Author SHA1 Message Date
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
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
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
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
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
Stephen Hemminger 71e253b169 beceem: make transmit thread interruptible
Kernel complains loudly if thread does long uninterruptible sleep.
Also, dont wake up every 10ms even if no data present (wastes power).

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:49:30 -04:00
Stephen Hemminger de85f98589 beceem: name threads with device name
This is the convention used by Intel Wimax

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:42:56 -04:00
Stephen Hemminger 082e889b47 beceem: remove OS wrapper library
Use native kernel functions for kmalloc/kfree directly

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:35:21 -04:00
Stephen Hemminger c5113e3c11 beceem: use kernel print_hex_dump function
No longer need special hex dump routine

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-11-01 09:30:59 -04:00
Stephen Hemminger 0ad008fcbc beceem: cleanup network device setup
Change how network device is setup:
* set pointer to device object so sysfs has eth0/device symlink
* set network device type
* eliminate all the compatiablity with older kernels.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-10-29 20:45:12 -07:00
Stephen Hemminger 92bc60580e beceem: get rid of OS dependent data structure
The only part of this structure still used was the network
device stats, and in recent kernel these are available in
network device itself.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-10-29 20:45:01 -07:00
Stephen Hemminger 2b5e625882 beceem: eliminate dead code
Get rid of empty header file and unused declarations

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-10-29 20:44:57 -07:00
Stephen Hemminger d52db0b4b3 beceem: eliminate network registered state variable
Just use presence of pointer

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-10-29 20:44:52 -07:00
Stephen Hemminger 3705a843bd beceem: remove bogus network device notifier
Network device should not be messing with refcounts directly.
See Documentation/networking/netdevices.txt

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-10-29 20:44:47 -07:00
Stephen Hemminger 2564a148d5 beceem: cleanup debug level infrastructure
Add module parameter to control debug level and do code cleanup
The whole debug stuff should eventually be removed.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-10-29 20:44:41 -07:00
Stephen Hemminger 047a5f2b50 beceem: eliminate unused USB stubs
USB layer does not require these reset function stubs

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-10-29 20:43:37 -07:00
Stephen Hemminger 5abe61ade9 beceem: remove version ifdef's
Remove code to support older kernel API's

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-10-29 20:43:32 -07:00
Stephen Hemminger 91d29ee1a8 beceem: remove ifdef's
There were a lot of ifdef's for driver options which have no
configuration options.  Choose the current value and remove the
ifdef.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-10-29 20:43:28 -07:00
Stephen Hemminger 2e44f765df beceem: add module information
Add description and version information to the driver.
Make USB device table exported as alias so device will be
autoloaded. Get rid of useless noise message on boot.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
2010-10-29 20:43:23 -07:00
Linus Torvalds 150cd843fa Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging
* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: (68 commits)
  hwmon: (it87) Add support for the IT8721F/IT8758E
  hwmon: (it87) Move conversion functions
  hwmon: Remove many EXPERIMENTAL flags
  hwmon: (lm85) Add support for ADT7468 high-frequency PWM mode
  hwmon: (lm85) Document the ADT7468 as supported
  hwmon: (lm85) Fix ADT7468 frequency table
  hwmon: I2C addresses are constant
  Move ams driver to macintosh
  hwmon: (pcf8591) Don't attempt to detect devices
  hwmon: (pcf8591) Register as a hwmon device
  hwmon: (w83795) Use standard attributes for chassis intrusion
  hwmon: (w83795) Exclude fan control feature by default
  hwmon: (w83795) Add myself as co-author and maintainer
  hwmon: (w83795) More style cleanups
  hwmon: (w83795) Fix LSB reading of voltage limits
  hwmon: (w83795) Use dev_get_drvdata() where possible
  hwmon: (w83795) Delay reading pwm config registers
  hwmon: (w83795) Delay reading limit registers
  hwmon: (w83795) Move register reads to dedicated functions
  hwmon: (w83795) Pack similar register reads
  ...
2010-10-28 12:17:00 -07:00