summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* netfilter: nf_ct_helper: implement variable length helper private dataPablo Neira Ayuso2012-06-1617-106/+111
| | | | | | | | | | | | | | This patch uses the new variable length conntrack extensions. Instead of using union nf_conntrack_help that contain all the helper private data information, we allocate variable length area to store the private helper data. This patch includes the modification of all existing helpers. It also includes a couple of include header to avoid compilation warnings. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* netfilter: nf_ct_ext: support variable length extensionsPablo Neira Ayuso2012-06-162-10/+15
| | | | | | | | | | | We can now define conntrack extensions of variable size. This patch is useful to get rid of these unions: union nf_conntrack_help union nf_conntrack_proto union nf_conntrack_nat_help Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* netfilter: nf_ct_helper: allocate 16 bytes for the helper and policy namesPablo Neira Ayuso2012-06-167-31/+14
| | | | | | | | | | | | | | This patch modifies the struct nf_conntrack_helper to allocate the room for the helper name. The maximum length is 16 bytes (this was already introduced in 2.6.24). For the maximum length for expectation policy names, I have also selected 16 bytes. This patch is required by the follow-up patch to support user-space connection tracking helpers. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
* ipv4: Add interface option to enable routing of 127.0.0.0/8Thomas Graf2012-06-125-11/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Routing of 127/8 is tradtionally forbidden, we consider packets from that address block martian when routing and do not process corresponding ARP requests. This is a sane default but renders a huge address space practically unuseable. The RFC states that no address within the 127/8 block should ever appear on any network anywhere but it does not forbid the use of such addresses outside of the loopback device in particular. For example to address a pool of virtual guests behind a load balancer. This patch adds a new interface option 'route_localnet' enabling routing of the 127/8 address block and processing of ARP requests on a specific interface. Note that for the feature to work, the default local route covering 127/8 dev lo needs to be removed. Example: $ sysctl -w net.ipv4.conf.eth0.route_localnet=1 $ ip route del 127.0.0.0/8 dev lo table local $ ip addr add 127.1.0.1/16 dev eth0 $ ip route flush cache V2: Fix invalid check to auto flush cache (thanks davem) Signed-off-by: Thomas Graf <tgraf@suug.ch> Acked-by: Neil Horman <nhorman@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵John W. Linville2012-06-12219-7378/+12126
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem
| * ssb: add missing PCI ID for b/g/n single band BCM4322Jonas Gorski2012-06-111-0/+1
| | | | | | | | | | | | | | | | | | 14e4:432c is found on some bcm63xx devices. The device is working fine with b43. Reported-by: Álvaro Fernández Rojas <noltari@gmail.com> Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * ath9k_hw: Initvals update for AR9462Sujith Manoharan2012-06-111-0/+1
| | | | | | | | | | | | | | | | | | | | | | MSI is enabled by default for most of the 4th generation chips. Add this for AR9462 - this fixes PowerSave operation, the chip was not entering Network-Sleep mode earlier. With proper powering down of the MAC now, power consumption in associated state is reduced considerably. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: scan less channels per scan command to improve Tx trafficAmitkumar Karwar2012-06-111-7/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently 4 channels are scanned per scan command. if scan request is issued by user during Tx traffic, radio will be out of channel for "4 * per_chan_scan_time" for each scan command and will not be able to receive Rx packets. This adds delay in data traffic. We can minimize it by reducing number of channels scanned per scan command in this scenario. We can not always scan 1 channel per scan command due to limitation of number of command buffers. So we add code to decide number of channels scanned per scan command in associated state. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: fix simultaneous scan and Tx traffic problemAmitkumar Karwar2012-06-114-10/+89
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If scan operation is started when Tx traffic is already running, driver locks Tx queue until it gets completed. With this logic there is a delay for Tx packets. This patch implements new approach to give Tx path higher priority in this case. Driver internally sends multiple synchronous scan commands to firmware when scan is requested by user. Now we will make sure that Tx queue is empty everytime before sending next scan command. If Tx queue isn't empty scan command will be postponsed by 20msec. This rule will be followed until Tx queue becomes empty or timeout of 1 second happens. In case of timeout scan operation will be aborted. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * mwifiex: shorten per channel scan timeBing Zhao2012-06-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently the scan time per channel for active scanning is set to 200ms. It takes quite a while to finsh scanning on all channels, especially with a dual band configuration. Change the per channel scan time settings to the following values: passive scan: 110ms active scan: 30ms specific scan: 30ms Above settings have been tested on x86 and arm platforms. Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
| * Merge branch 'for-john' of ↵John W. Linville2012-06-1153-2553/+2329
| |\ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next Conflicts: drivers/net/wireless/iwlwifi/iwl-eeprom.c
| | * iwlwifi: remove extern opmode ops declarationsJohannes Berg2012-06-062-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | There's no need to declare the opmode ops as extern since they're now dynamically registered. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: move RF config into NIC configJohannes Berg2012-06-062-43/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since the RF config is done for all devices, there's no need to keep a separate function that is called for all devices, move it into the general NIC config function. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-by: Wey-Yi W Guy <wey-yi.w.guy@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: configure PHY version for 1000 seriesJohannes Berg2012-06-061-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should also configure the PHY version in the CSR_HW_IF_CONFIG_REG register for 1000 series devices, not just for the other devices. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Reviewed-by: Wey-Yi W Guy <wey-yi.w.guy@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: fix typo 'IWL_WATCHHDOG_DISABLED'Paul Bolle2012-06-064-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 7c5ba4a830cbb730770129b0004e2a06e47dbac5 ("iwlwifi: move queue watchdog into transport") introduced the named constant 'IWL_WATCHHDOG_DISABLED'. Rename it to 'IWL_WATCHDOG_DISABLED'. Signed-off-by: Paul Bolle <pebolle@tiscali.nl> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: refactor EEPROM reading/parsingJohannes Berg2012-06-0632-1996/+1854
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EEPROM reading/parsing code is all mixed in the driver today, and the EEPROM is parsed only when we access data from it. This is problematic because the NVM needs to be parsed and that is independent of reading it. Also, the NVM format for new devices will be different and probably require a new parser. Therefore refactor the reading and parsing and create two independent components. Reading the EEPROM requires direct hardware accesses and therefore access to the transport, but parsing is independent and can be done on an NVM blob. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: configure the SKU in the HWEmmanuel Grumbach2012-06-062-6/+15
| | | | | | | | | | | | | | | | | | | | | This was missing. Fix the mask of the REV_TYPE on the way. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: fix rf configurationEmmanuel Grumbach2012-06-062-6/+27
| | | | | | | | | | | | | | | | | | | | | | | | Johannes noticed this was completely messed up. We got confused between masks and bit position. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: add iwl_set_bits_maskJohannes Berg2012-06-062-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a few cases we need to set a value in a certain mask inside a register, add the function iwl_set_bits_mask() to make such code easy. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: allocate Tx cmd pool per deviceEmmanuel Grumbach2012-06-065-26/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Different transports will have different needs: New tranports need headroom for their own use before the Tx cmd. So allocate the Tx cmd pool in the transport and give it a unique name based on dev_name. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: update mask value for SCD queue configEmmanuel Grumbach2012-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Although we don't use bit 24, this bit is valid, but bit 23 is not. Update the mask accordingly. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: s/txq_setup/txq_enableEmmanuel Grumbach2012-06-066-50/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to be able to enable / disable Tx queues in HW dynamically. So this function is no longer related to AGG only. It can do the job for any queue, even AC ones. Change the name to better reflect its role. Also use the new function to configure the AC / CMD queues in tx_start. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: s/txq_agg_disable/txq_disableEmmanuel Grumbach2012-06-065-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need to be able to enable / disable Tx queues in HW dynamically. So this function is no longer related to AGG only. It can do the job for any queue, even AC ones. Change the name to better reflect its role. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: use iwl_trans_set_wr_ptrs to init the queuesEmmanuel Grumbach2012-06-061-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | This functions does the job so use it instead of duplicating the code. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: first config the SCD queues, then activate themEmmanuel Grumbach2012-06-061-18/+18
| | | | | | | | | | | | | | | | | | | | | | | | The DMA channels of the FH should be activated after the configuration of the SCD queues too. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: SCD_INT_MSK is obsolete - don't update itEmmanuel Grumbach2012-06-062-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The scheduler can issue an interrupt when moving the read pointer. To get this interrupt, the driver needs to configure what queue can issue an interrupt when its read pointer moves in the scheduler: this is the SCD_INT_MSK. The driver also needs to enable the interrupt in CSR_INT_MASK (bit CSR_INT_BIT_SCD). Since we don't enable the scheduler interrupt in CSR_INT_MASK, there is no point in requesting an interrupt from the scheduler: it will be masked anyway. So don't configure the scheduler to issue interrupts at all. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: move ht40 bitmap into configJohannes Berg2012-06-068-19/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | There's no need to dynamically fill the HT40 band bitmap as it's a device parameter, just put it into the HT configuration. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: unify tx_chains_num settingJohannes Berg2012-06-062-34/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's no need to copy the same code for all devices since none of the 5000 series devices (that don't have the RX SISO override) don't set the rx_with_siso_diversity variable. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: move DVM code into subdirectoryJohannes Berg2012-06-0635-115/+106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we're working on another mode/driver inside iwlwifi, move the current one into a subdirectory to more cleanly separate the code. While at it, rename all the files. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: trust mac80211 HT40 settingJohannes Berg2012-06-061-23/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When mac80211 asks us to do HT40, it'll not do so on a channel that we marked as not having HT40+/- with IEEE80211_CHAN_NO_HT40PLUS (or MINUS). Thus, there's no need to verify it again in the driver. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: move PCIe into subdirectoryJohannes Berg2012-06-0611-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Structure the code a bit more and move all PCIe code including the hardware configuration files into a PCIe specific subdirectory. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: clear STATUS_SCAN_HW when PAN_PARAMS failsIlan Peer2012-06-061-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The STATUS_SCAN_HW is set before calling iwlagn_set_pan_params (used as an input to calculate slot time allocation). The bit needs to be cleared in case sending the command fails. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: give HT format to mac80211/radiotapJohannes Berg2012-06-062-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | We know whether we received a frame in GF format or not, add it to the radiotap information. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: use mac80211 channel for radar checkJohannes Berg2012-06-061-18/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | In channel switch, instead of relying on our internal channel database, just use the mac80211 channel that we filled with that information on startup. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: use mac80211 channels for reset scanJohannes Berg2012-06-061-20/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of iterating our own channel list, use the mac80211 channel list since that's already processed per band and thus makes for less code. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: trust mac80211 channel settingJohannes Berg2012-06-063-27/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | mac80211 will never set, switch to, or scan on an invalid channel, so remove the code to validate the channels against the driver channel list. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: use mac80211 channel in connection initJohannes Berg2012-06-061-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | mac80211 guarantees that the channel pointer is always valid, so we can use that instead of our own channel list. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: make a lot of functions staticJohannes Berg2012-06-065-160/+82
| | | | | | | | | | | | | | | | | | | | | | | | A lot of functions were temporarily made non-static for experimental work, make them static again now. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: handle race condition in ROC flowIlan Peer2012-06-065-10/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a remain on channel request from mac80211 is followed by a request to tx a mgmt frame offchannel, it is possible that the remain on channel expires before the device reported the tx status for the frame. This causes a race condition in mac80211. To fix this, delay the ROC notification to mac80211 until the device reported the Tx status for all frames in the aux queue. Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| | * iwlwifi: Check BSS ctx active before call mac80211Ilan Peer2012-06-061-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is possible that the BSS context is not active (for example when the current mode is set to GO), or that the vif->type is different than station. In such a case we cannot call mac80211 to report the average rssi for the interface (the function assumes that the vif is valid and that the type is station). Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Ilan Peer <ilan.peer@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
| * | Merge tag 'nfc-next-3.6-1' of ↵John W. Linville2012-06-1116-392/+1106
| |\ \ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/sameo/nfc-3.0
| | * | NFC: Monitor pn533 target modeSamuel Ortiz2012-06-041-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When receiving a DEP link down event, we should cancel all pending URBs if we're activated as a target or if we're an initiator. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| | * | NFC: Convert pn533 from semaphore to mutexSamuel Ortiz2012-06-041-7/+7
| | | | | | | | | | | | | | | | Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| | * | NFC: Set the proper baud rate when trying to activate pn533 targetsSamuel Ortiz2012-06-041-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | We get the right baud rate from the last polled modulation. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| | * | NFC: Destroy LLCP timout workqueue when releasing the linkSamuel Ortiz2012-06-041-0/+1
| | | | | | | | | | | | | | | | Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| | * | NFC: Switch to Initiator mode when getting NFC_ATTR_PROTOCOLSSamuel Ortiz2012-06-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | That is needed for keeping backward compatibility with apps using the old netlink polling API (NFC_ATTR_PROTOCOLS instead of NFC_ATTR_IM_PROTOCOLS). Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| | * | NFC: Send a receiver ready frame only to reply to an I frameSamuel Ortiz2012-06-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Sending an RR as a reply to another RR is fine but not quite logical. We should send RRs only as a reply to I frames. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| | * | NFC: Requeue lost LLCP framesSamuel Ortiz2012-06-041-31/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When receiving an I or RR frame telling us that some of the pending queues were not received, we should requeue them before the currently pending ones. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| | * | NFC: Implement pn533 polling loopSamuel Ortiz2012-06-041-126/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | After going through all the modulations, the pn533 driver spends 2 seconds listening for targets. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
| | * | NFC: Add type A and type F parameters for pn533 target modeSamuel Ortiz2012-06-041-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | Without those settings several devices will not activate pn533 as a target. Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
OpenPOWER on IntegriCloud