summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2010-10-25ath9k: fix handling of rate control probe framesFelix Fietkau
The ath9k aggregation code was already checking the rate control probe flag to prevent starting an aggregate frame with a sampling rate. What was missing was closing an aggregate before adding a probing frame to it. Without that, rate control cannot have precise control over probing, which delays using faster rates when the channel conditions improve. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-25ath9k: fix crash in ath_update_survey_statsFelix Fietkau
If ah->curchan is uninitialized, the channel index is bogus, which leads to invalid memory access when the cycle counters are updated. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-25ath9k_hw: Fix divide by zero cases in paprd.Senthil Balasubramanian
We are not handling all divide by zero cases in paprd. Add additional checks for divide by zero cases in papard. This patch has fixes intended for kernel 2.6.36. Cc: stable@kernel.org Signed-off-by: Senthil Balasubramanian <senthilkumar@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-25ath9k_hw: Fix TX carrier leakage for IEEE compliance on AR9003 2.2Luis R. Rodriguez
This updates the initvals for the AR9003 2.2 chipsets. The initvals are the initial register values we use for our registers upon hardware reset. This synchs up the initvals to match what our latest recommendation from our systems engineering team. The description of changes in this update: Improves ability to support very strong Rx conditions. Enhances DFS support for AP-mode. Improves performance of Tx carrier leak calibration. Adds support for Japan channel 14 Tx filtering requirements. Improves Tx power accuracy. Impact: Update required to address degraded throughput at very short range. Update required for AP-mode DFS certification. Update required to comply to IEEE Tx carrier leak specification. May not meet expected +/- 2 dB Tx power accuracy without update. The most important fix here would be the TX carrier leakage required to comply with IEEE 802.11 specifications. The group of changes have been tested all together in one release. References: Osprey 2.2 header file ver #33 Checksums: $ ./initvals -f ar9003-2p2 0x000000004a488fc7 ar9300_2p2_radio_postamble 0x0000000046cb1300 ar9300Modes_lowest_ob_db_tx_gain_table_2p2 0x00000000e912711f ar9300Modes_fast_clock_2p2 0x0000000037ac0ee8 ar9300_2p2_radio_core 0x00000000047a7700 ar9300Common_rx_gain_table_merlin_2p2 0x0000000003f783bb ar9300_2p2_mac_postamble 0x00000000301fc841 ar9300_2p2_soc_postamble 0x000000005ec8075f ar9200_merlin_2p2_radio_core 0x0000000083372ffa ar9300_2p2_baseband_postamble 0x00000000c4f59974 ar9300_2p2_baseband_core 0x00000000e20d2e72 ar9300Modes_high_power_tx_gain_table_2p2 0x000000007fd55c70 ar9300Modes_high_ob_db_tx_gain_table_2p2 0x0000000029495000 ar9300Common_rx_gain_table_2p2 0x0000000042cb1300 ar9300Modes_low_ob_db_tx_gain_table_2p2 0x00000000c4739cd6 ar9300_2p2_mac_core 0x000000003521a300 ar9300Common_wo_xlna_rx_gain_table_2p2 0x00000000a15ccf1b ar9300_2p2_soc_preamble 0x0000000029734396 ar9300PciePhy_pll_on_clkreq_disable_L1_2p2 0x000000002d834396 ar9300PciePhy_clkreq_enable_L1_2p2 0x0000000029834396 ar9300PciePhy_clkreq_disable_L1_2p2 $ ./initvals -f ar9003-2p2 | sha1sum 0ceddb5cf66737610fb51f04cf3e9ff71870c7b4 - Cc: stable@kernel.org Cc: Yixiang Li <yixiang.li@atheros.com> Cc: Don Breslin <don.breslin@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-25cfg80211: fix regression on processing country IEsLuis R. Rodriguez
The patch 4f366c5: wireless: only use alpha2 regulatory information from country IE removed some complex intersection we were always doing between the AP's country IE info and what we got from CRDA. When CRDA sent us back a regulatory domain we would do some sanity checks on that regulatory domain response we just got. Part of these sanity checks included checking that we already had performed an intersection for the request of NL80211_REGDOM_SET_BY_COUNTRY_IE type. This mean that cfg80211 was only processing country IEs for cases where we already had an intersection, but since we removed enforcing this this is no longer required, we should just apply the country IE country hint with the data received from CRDA. This patch has fixes intended for kernels >= 2.6.36. Cc: stable@kernel.org Reported-by: Easwar Krishnan <easwar.krishnan@atheros.com> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-25carl9170: fix memory leak issue in async cmd macro wrappersChristian Lamparter
This patch continues where the previous commit: "carl9170: fix async command buffer leak" left off. Similar to carl9170_reboot/carl9170_powersave, the carl9170_async_regwrite* macros would leak the temporary command buffer, if __carl9170_exec_cmd fails to upload the command to the device. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-25mac80211: don't sanitize invalid ratesChristian Lamparter
I found this bug while poking around with a pure-gn AP. Commit: cfg80211/mac80211: Use more generic bitrate mask for rate control Added some sanity checks to ensure that each tx rate index is included in the configured mask and it would change any rate indexes if it wasn't. But, the current implementation doesn't take into account that the invalid rate index "-1" has a special meaning (= no further attempts) and it should not be "changed". Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Cc: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-25carl9170: fix async command buffer leakChristian Lamparter
If __carl9170_exec_cmd fails to upload an asynchronous command to the device, the functions: carl9170_reboot and carl9170_powersave will leak the temporary command assembly buffer. Signed-off-by: Christian Lamparter <chunkeey@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-25ath5k: Properly initialize ath_common->cc_lock.Ben Greear
Otherwise, lockdep splats, at the least: INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. Pid: 0, comm: swapper Not tainted 2.6.36-rc8-wl+ #32 Call Trace: [<c075d940>] ? printk+0xf/0x17 [<c045507a>] register_lock_class+0x5a/0x29e [<c0456af5>] __lock_acquire+0xa2/0xb8c [<c0455be2>] ? mark_lock+0x1e/0x1de [<c041a540>] ? acpi_get_override_irq+0x85/0x8c [<c0455536>] ? trace_hardirqs_off+0xb/0xd [<c0457639>] lock_acquire+0x5a/0x78 [<f8126835>] ? ath5k_ani_calibration+0x24/0x52b [ath5k] [<c075f6ed>] _raw_spin_lock_bh+0x20/0x2f [<f8126835>] ? ath5k_ani_calibration+0x24/0x52b [ath5k] [<f8126835>] ath5k_ani_calibration+0x24/0x52b [ath5k] [<c0438f99>] ? tasklet_action+0x3b/0xc6 [<f8123c2b>] ath5k_tasklet_ani+0x18/0x22 [ath5k] [<c0438fd1>] tasklet_action+0x73/0xc6 [<c043945f>] __do_softirq+0x86/0x111 [<c0439520>] do_softirq+0x36/0x5a [<c0439659>] irq_exit+0x35/0x69 [<c0403fb9>] do_IRQ+0x86/0x9a [<c04034ee>] common_interrupt+0x2e/0x40 [<c045007b>] ? do_adjtimex+0x223/0x55e [<c0408245>] ? mwait_idle+0x5c/0x6c [<c040227f>] cpu_idle+0x4e/0x6b [<c074b6e9>] rest_init+0x8d/0x92 [<c09758ea>] start_kernel+0x320/0x325 [<c09750d0>] i386_start_kernel+0xd0/0xd7 Signed-off-by: Ben Greear <greearb@candelatech.com> Acked-by: Bruno Randolf <br1@einfach.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-25ath9k: Properly initialize ath_common->cc_lock.Ben Greear
Otherwise, lockdep splats, at the least: INFO: trying to register non-static key. the code is fine but needs lockdep annotation. turning off the locking correctness validator. Pid: 2240, comm: ip Not tainted 2.6.36-rc8-wl+ #32 Call Trace: [<c075d940>] ? printk+0xf/0x17 [<c045507a>] register_lock_class+0x5a/0x29e [<c0455be2>] ? mark_lock+0x1e/0x1de [<c0456af5>] __lock_acquire+0xa2/0xb8c [<c0455be2>] ? mark_lock+0x1e/0x1de [<c0457639>] lock_acquire+0x5a/0x78 [<f8c5115b>] ? ath9k_config+0x274/0x3d8 [ath9k] [<c075f602>] _raw_spin_lock_irqsave+0x2f/0x3f [<f8c5115b>] ? ath9k_config+0x274/0x3d8 [ath9k] [<f8c5115b>] ath9k_config+0x274/0x3d8 [ath9k] [<f8c0ba2e>] ieee80211_hw_config+0x11b/0x125 [mac80211] [<f8c17edf>] ieee80211_do_open+0x3c5/0x466 [mac80211] [<f8c171d6>] ? ieee80211_check_concurrent_iface+0x21/0x13a [mac80211] [<f8c17fdb>] ieee80211_open+0x5b/0x5e [mac80211] [<c06ce76b>] __dev_open+0x80/0xae [<c06cc99b>] __dev_change_flags+0xa0/0x115 [<c06ce6bf>] dev_change_flags+0x13/0x3f [<c06d7e78>] do_setlink+0x23a/0x51b [<c0455037>] ? register_lock_class+0x17/0x29e [<c06d847c>] rtnl_newlink+0x269/0x431 [<c06d8291>] ? rtnl_newlink+0x7e/0x431 [<c0455be2>] ? mark_lock+0x1e/0x1de [<c0455de9>] ? mark_held_locks+0x47/0x5f [<c075ebcf>] ? __mutex_lock_common+0x2bb/0x2d6 [<c0456045>] ? trace_hardirqs_on_caller+0x104/0x125 [<c075ebe0>] ? __mutex_lock_common+0x2cc/0x2d6 [<c06d8213>] ? rtnl_newlink+0x0/0x431 [<c06d79e2>] rtnetlink_rcv_msg+0x182/0x198 [<c06d7860>] ? rtnetlink_rcv_msg+0x0/0x198 [<c06e503c>] netlink_rcv_skb+0x30/0x77 [<c06d7859>] rtnetlink_rcv+0x1b/0x22 [<c06e4e77>] netlink_unicast+0xbe/0x119 [<c06e5a15>] netlink_sendmsg+0x234/0x24c [<c06bf93a>] __sock_sendmsg+0x51/0x5a [<c06bfba4>] sock_sendmsg+0x93/0xa7 [<c04968cf>] ? might_fault+0x47/0x81 [<c0496904>] ? might_fault+0x7c/0x81 [<c06c7904>] ? copy_from_user+0x8/0xa [<c06c7c2d>] ? verify_iovec+0x3e/0x6d [<c06bfd8c>] sys_sendmsg+0x149/0x193 [<c0455037>] ? register_lock_class+0x17/0x29e [<c0455be2>] ? mark_lock+0x1e/0x1de [<c0498d7a>] ? __do_fault+0x1fc/0x3a5 [<c048690a>] ? unlock_page+0x40/0x43 [<c0498ef7>] ? __do_fault+0x379/0x3a5 [<c04576dd>] ? lock_release_non_nested+0x86/0x1d8 [<c04968cf>] ? might_fault+0x47/0x81 [<c04968cf>] ? might_fault+0x47/0x81 [<c06c148b>] sys_socketcall+0x15e/0x1a5 [<c0402f1c>] sysenter_do_call+0x12/0x38 Signed-off-by: Ben Greear <greearb@candelatech.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-25mac80211: cancel restart_work explicitly instead of depending on ↵Tejun Heo
flush_scheduled_work() iee80211_hw->restart_work is the only work which uses the system workqueue. Instead of calling flush_scheduled_work() during iee80211_exit(), cancel the work during unregistration. This is to prepare for the deprecation and removal of flush_scheduled_work(). Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-10-24l2tp: static functions should not be exportedStephen Rothwell
Causes these build failures on PowerPC: net/l2tp/l2tp_core.c:1228: error: __ksymtab_l2tp_tunnel_closeall causes a section type conflict net/l2tp/l2tp_core.c:1228: error: __ksymtab_l2tp_tunnel_closeall causes a section type conflict net/l2tp/l2tp_core.c:1006: error: __ksymtab_l2tp_xmit_core causes a section type conflict net/l2tp/l2tp_core.c:1006: error: __ksymtab_l2tp_xmit_core causes a section type conflict net/l2tp/l2tp_core.c:847: error: __ksymtab_l2tp_udp_recv_core causes a section type conflict net/l2tp/l2tp_core.c:847: error: __ksymtab_l2tp_udp_recv_core causes a section type conflict Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24typhoon: update to new VLAN acceleration modelDavid Dillow
Also correct the byteswapping as we keep the TCI in host order. Signed-off-by: David Dillow <dave@thedillows.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24typhoon: wait for RX mode commands to finishDavid Dillow
When adding VLAN devices, we can get several calls to typhoon_set_rx_mode() in quick succession. Because we didn't wait for the commands to complete, we could run out of command descriptors and fail to set the RX mode. Signed-off-by: David Dillow <dave@thedillows.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24netlink: fix netlink_change_ngroups()Eric Dumazet
commit 6c04bb18ddd633 (netlink: use call_rcu for netlink_change_ngroups) used a somewhat convoluted and racy way to perform call_rcu(). The old block of memory is freed after a grace period, but the rcu_head used to track it is located in new block. This can clash if we call two times or more netlink_change_ngroups(), and a block is freed before another. call_rcu() called on different cpus makes no guarantee in order of callbacks. Fix this using a more standard way of handling this : Each block of memory contains its own rcu_head, so that no 'use after free' can happens. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> CC: Johannes Berg <johannes@sipsolutions.net> CC: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24slhc: Don't export symbols twiceDenis Kirjanov
Don't export symbols twice. Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24jme: Support WoL after shutdownGuo-Fu Tseng
Adding shutdown function that setup wake if wol is enabled. Add jme_phy_on in jme_set_100m_half in case it is shutting down or suspending when interface is down(phy_off by default). v2 updates: Removed CONFIG_PM ifdef for jme_set_100m_half and jme_wait_link. It would be nice if it can be applied to net-2.6 along with other patches sent few days ago. If it is not appropriate, please ignore the net-2.6 request, and apply it to net-next-2.6 as previous patch. :) Reported-and-helped-by: Сtac <Taoga@yandex.ru> Signed-off-by: Guo-Fu Tseng <cooldavid@cooldavid.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24tproxy: Add missing CAP_NET_ADMIN check to ipv6 sideBalazs Scheidler
IP_TRANSPARENT requires root (more precisely CAP_NET_ADMIN privielges) for IPV6. However as I see right now this check was missed from the IPv6 implementation. Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24vmxnet3: fix typo setting confPAHarvey Harrison
It's a le64, not a le32, typo in one place only. Noticed by sparse: drivers/net/vmxnet3/vmxnet3_drv.c:2668:52: warning: incorrect type in assignment (different base types) drivers/net/vmxnet3/vmxnet3_drv.c:2668:52: expected restricted __le64 [usertype] confPA drivers/net/vmxnet3/vmxnet3_drv.c:2668:52: got restricted __le32 [usertype] <noident> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Shreyas Bhatewara <sbhatewara@vmware.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24vmxnet3: annotate hwaddr members as __iomem pointersHarvey Harrison
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Shreyas Bhatewara <sbhatewara@vmware.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24vmxnet3: remove set_flag_le{16,64} helpersHarvey Harrison
It's easier to just annotate the constants as little endian types and set/clear the flags directly. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Shreyas Bhatewara <sbhatewara@vmware.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24cxgb4: update to utilize the newer VLAN infrastructureDimitris Michailidis
Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24cxgb4: fix crash due to manipulating queues before registrationDimitris Michailidis
Before commit "net: allocate tx queues in register_netdevice" netif_tx_stop_all_queues and related functions could be used between device allocation and registration but now only after registration. cxgb4 has such a call before registration and crashes now. Move it after register_netdev. Signed-off-by: Dimitris Michailidis <dm@chelsio.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: tscan1: add driver for TS-CAN1 boardsAndre B. Oliveira
Add driver for Technologic Systems TS-CAN1 PC104 peripheral boards. Signed-off-by: Andre B. Oliveira <anbadeol@gmail.com> Acked-by: Wolfgang Grandegger <wg@grandegger.com> Reviewed-by: Wolfram Sang <w.sang@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24ip6_tunnel dont update the mtu on the route.Anders Franzen
The ip6_tunnel device did not unset the flag, IFF_XMIT_DST_RELEASE. This will make the dev layer to release the dst before calling the tunnel. The tunnel will not update any mtu/pmtu info, since it does not have a dst on the skb. Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24pktgen: clean up handling of local/transient counter varsPaul Gortmaker
The temporary variable "i" is needlessly initialized to zero in two distinct cases in this file: 1) where it is set to zero and then used as an argument in an addition before being assigned a non-zero value. 2) where it is only used in a standard/typical loop counter For (1), simply delete assignment to zero and usages while still zero; for (2) simply make the loop start at zero as per standard practice as seen everywhere else in the same file. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24e1000: make e1000_reinit_safe localstephen hemminger
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24bnx2x: make local function static and remove dead codestephen hemminger
Make many functions that are only used in one file static. Remove dead code for override_led_value. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24qlge: disable unsed dump codestephen hemminger
The driver has lots of unused code to dump data structures to console. Use existing simple way to remove the code with ifdef. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24qlge: make local functions staticstephen hemminger
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24vxge: make functions local and remove dead codestephen hemminger
Use results of make namespacecheck to make functions local and remove code that is not used. Also rename initialize_ethtool_ops to vxge_initialize_ethtool_ops. Compile tested only. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24phylib: make local function staticstephen hemminger
The following functions are not used directly by any drivers: phy_attach_direct phy_device_create phy_prepare_link genphy_config_advert genphy_setup_forced phy_config_interrupt phy_clear_interrypt phy_sanitize_settings phy_enable_interrupts phy_disable_interrupts Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24atlx: make local functions/data staticstephen hemminger
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24atl1c: make functions staticstephen hemminger
The up/down are only used in this file. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24benet: make be_poll_rx localstephen hemminger
Only used in one file. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24benet: remove dead codestephen hemminger
The following code and data are defined but never used in current driver. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24l2tp: make local function staticstephen hemminger
Also moved the refcound inlines from l2tp_core.h to l2tp_core.c since only used in that one file. Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Acked-by: James Chapman <jchapman@katalix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24mlx4: make functions local and remove dead code.stephen hemminger
Make the following function static: mlx4_UNMAP_ICM Remove the following unused function: mlx4_MAP_ICM_page Signed-off-by: Stephen Hemminger <shemminger@vyatta.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: at91_can: add KBUILD_MODNAME to bittiming constantMarc Kleine-Budde
While there replace all usage of self defined DRV_NAME by KBUILD_MODNAME. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: at91_can: convert dev_<level> printing to netdev_<level>Marc Kleine-Budde
While there, remove "printk()" on driver loading. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: at91_can: convert readl, writel their __raw pendantsMarc Kleine-Budde
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Cc: Russell King <rmk@arm.linux.org.uk> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: at91_can: set bittiming in chip_startMarc Kleine-Budde
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: at91_can: implement and use at91_get_berr_counterMarc Kleine-Budde
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: at91_can: fix section mismatch warningMarc Kleine-Budde
...by adding the correct annotation "__devinit" to the driver's probe function. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: at91_can: fix compiler warning in at91_irq_err_stateMarc Kleine-Budde
This patch fixes the following compiler warning: drivers/net/can/at91_can.c: In function 'at91_irq_err_state': drivers/net/can/at91_can.c:779: warning: 'reg_ier' may be used uninitialized in this function drivers/net/can/at91_can.c:779: warning: 'reg_idr' may be used uninitialized in this function Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: at91_can: fix use after free of privMarc Kleine-Budde
The priv is part of the memory allocated by alloc_candev(). This patch moved the free it after last usage of priv. While there convert all free_netdev() to free_candev() (which is currently just a wrapper around free_netdev()) to be symetrically with the allocation via alloc_candev(). Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: at91_can: fix reception of extended framesMarc Kleine-Budde
The AT91_MID_MIDE bit must be set in order to receive extended frames. The reception of an extended frame sets this bit, while reception of standard frames resets it. This results in some lost extended frames in an extended ID only environment. But leads to unpredictable lost extended ID frames in a mixed environment. The problem is fixed by setting the AT91_MID_MIDE after reception of a CAN frame. Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: at91_can: use correct bit to enable CAN_CTRLMODE_3_SAMPLESMarc Kleine-Budde
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24can: Topcliff: Add PCH_CAN driver.Masayuki Ohtake
CAN driver of Topcliff PCH Topcliff PCH is the platform controller hub that is going to be used in Intel's upcoming general embedded platform. All IO peripherals in Topcliff PCH are actually devices sitting on AMBA bus. Topcliff PCH has CAN I/F. This driver enables CAN function. Signed-off-by: Masayuki Ohtake <masa-korg@dsn.okisemi.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-10-24connector: remove lazy workqueue creationTejun Heo
Commit 1a5645bc (connector: create connector workqueue only while needed once) implements lazy workqueue creation for connector workqueue. With cmwq now in place, lazy workqueue creation doesn't make much sense while adding a lot of complexity. Remove it and allocate an ordered workqueue during initialization. This also removes a call to flush_scheduled_work() which is deprecated and scheduled to be removed. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>