diff options
| author | Mark Brown <broonie@kernel.org> | 2026-10-03 00:54:46 +0200 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-10-03 00:54:46 +0200 |
| commit | bb03a50a01b9f9ca4048f10aa4d05bf21a71f9dc (patch) | |
| tree | 62d1f2974b30b78eabc064298ab0ce3b4914cd39 /drivers | |
| parent | 2678de559aa2b5e42a5415c5c8292d9b0970ab1e (diff) | |
| parent | dbc2fa996f44602af72ea56efa68c043407eaaac (diff) | |
| download | linux-next-bb03a50a01b9f9ca4048f10aa4d05bf21a71f9dc.tar.gz linux-next-bb03a50a01b9f9ca4048f10aa4d05bf21a71f9dc.zip | |
Merge branch 'staging-next' of https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
Diffstat (limited to 'drivers')
107 files changed, 1334 insertions, 5287 deletions
diff --git a/drivers/staging/axis-fifo/axis-fifo.c b/drivers/staging/axis-fifo/axis-fifo.c index 3d358f919352..7bb35e11d1dd 100644 --- a/drivers/staging/axis-fifo/axis-fifo.c +++ b/drivers/staging/axis-fifo/axis-fifo.c @@ -212,9 +212,9 @@ static ssize_t axis_fifo_write(struct file *f, const char __user *buf, size_t len, loff_t *off) { struct axis_fifo *fifo = f->private_data; - unsigned int words_to_write; + size_t words_to_write; u32 *txbuf; - int ret; + ssize_t ret; words_to_write = len / sizeof(u32); @@ -256,7 +256,7 @@ static ssize_t axis_fifo_write(struct file *f, const char __user *buf, goto end_unlock; } - for (int i = 0; i < words_to_write; ++i) + for (size_t i = 0; i < words_to_write; ++i) iowrite32(txbuf[i], fifo->base_addr + XLLF_TDFD_OFFSET); iowrite32(len, fifo->base_addr + XLLF_TLR_OFFSET); diff --git a/drivers/staging/fbtft/fb_bd663474.c b/drivers/staging/fbtft/fb_bd663474.c index 1629c2c440a9..c34f859043ef 100644 --- a/drivers/staging/fbtft/fb_bd663474.c +++ b/drivers/staging/fbtft/fb_bd663474.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0+ /* - * FB driver for the uPD161704 LCD Controller + * FB driver for the BD663474 LCD Controller * * Copyright (C) 2014 Seong-Woo Kim * @@ -166,6 +166,6 @@ MODULE_ALIAS("platform:" DRVNAME); MODULE_ALIAS("spi:bd663474"); MODULE_ALIAS("platform:bd663474"); -MODULE_DESCRIPTION("FB driver for the uPD161704 LCD Controller"); +MODULE_DESCRIPTION("FB driver for the BD663474 LCD Controller"); MODULE_AUTHOR("Seong-Woo Kim"); MODULE_LICENSE("GPL"); diff --git a/drivers/staging/greybus/Kconfig b/drivers/staging/greybus/Kconfig index 7635f3e850fa..e1d7ffdf4a6f 100644 --- a/drivers/staging/greybus/Kconfig +++ b/drivers/staging/greybus/Kconfig @@ -32,16 +32,6 @@ config GREYBUS_BOOTROM To compile this code as a module, chose M here: the module will be called gb-bootrom.ko -config GREYBUS_CAMERA - tristate "Greybus Camera Class driver" - depends on MEDIA_SUPPORT && LEDS_CLASS_FLASH && BROKEN - help - Select this option if you have a device that follows the - Greybus Camera Class specification. - - To compile this code as a module, chose M here: the module - will be called gb-camera.ko - config GREYBUS_FIRMWARE tristate "Greybus Firmware Download Class driver" depends on SPI @@ -204,13 +194,4 @@ config GREYBUS_USB endif # GREYBUS_BRIDGED_PHY -config GREYBUS_ARCHE - tristate "Greybus Arche Platform driver" - depends on USB_HSIC_USB3613 || COMPILE_TEST - help - Select this option if you have an Arche device. - - To compile this code as a module, chose M here: the module - will be called gb-arche.ko - endif # GREYBUS diff --git a/drivers/staging/greybus/Makefile b/drivers/staging/greybus/Makefile index 7c5e89622334..01a372e9833e 100644 --- a/drivers/staging/greybus/Makefile +++ b/drivers/staging/greybus/Makefile @@ -4,7 +4,6 @@ ccflags-y += -I$(src) # Greybus class drivers gb-bootrom-y := bootrom.o -gb-camera-y := camera.o gb-firmware-y := fw-core.o fw-download.o fw-management.o authentication.o gb-spilib-y := spilib.o gb-hid-y := hid.o @@ -16,7 +15,6 @@ gb-raw-y := raw.o gb-vibrator-y := vibrator.o obj-$(CONFIG_GREYBUS_BOOTROM) += gb-bootrom.o -obj-$(CONFIG_GREYBUS_CAMERA) += gb-camera.o obj-$(CONFIG_GREYBUS_FIRMWARE) += gb-firmware.o gb-spilib.o obj-$(CONFIG_GREYBUS_HID) += gb-hid.o obj-$(CONFIG_GREYBUS_LIGHT) += gb-light.o @@ -65,9 +63,3 @@ obj-$(CONFIG_GREYBUS_SDIO) += gb-sdio.o obj-$(CONFIG_GREYBUS_SPI) += gb-spi.o gb-spilib.o obj-$(CONFIG_GREYBUS_UART) += gb-uart.o obj-$(CONFIG_GREYBUS_USB) += gb-usb.o - - -# Greybus Platform driver -gb-arche-y := arche-platform.o arche-apb-ctrl.o - -obj-$(CONFIG_GREYBUS_ARCHE) += gb-arche.o diff --git a/drivers/staging/greybus/TODO b/drivers/staging/greybus/TODO deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/drivers/staging/greybus/TODO +++ /dev/null diff --git a/drivers/staging/greybus/arche-apb-ctrl.c b/drivers/staging/greybus/arche-apb-ctrl.c deleted file mode 100644 index 4302c2226126..000000000000 --- a/drivers/staging/greybus/arche-apb-ctrl.c +++ /dev/null @@ -1,490 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Arche Platform driver to control APB. - * - * Copyright 2014-2015 Google Inc. - * Copyright 2014-2015 Linaro Ltd. - */ - -#include <linux/clk.h> -#include <linux/delay.h> -#include <linux/gpio/consumer.h> -#include <linux/interrupt.h> -#include <linux/module.h> -#include <linux/pinctrl/consumer.h> -#include <linux/platform_device.h> -#include <linux/pm.h> -#include <linux/property.h> -#include <linux/regulator/consumer.h> -#include <linux/spinlock.h> -#include "arche_platform.h" - -static void apb_bootret_deassert(struct device *dev); - -struct arche_apb_ctrl_drvdata { - /* Control GPIO signals to and from AP <=> AP Bridges */ - struct gpio_desc *resetn; - struct gpio_desc *boot_ret; - struct gpio_desc *pwroff; - struct gpio_desc *wake_in; - struct gpio_desc *wake_out; - struct gpio_desc *pwrdn; - - enum arche_platform_state state; - bool init_disabled; - - struct regulator *vcore; - struct regulator *vio; - - struct gpio_desc *clk_en; - struct clk *clk; - - struct pinctrl *pinctrl; - struct pinctrl_state *pin_default; - - /* V2: SPI Bus control */ - struct gpio_desc *spi_en; - bool spi_en_polarity_high; -}; - -/* - * Note that these low level api's are active high - */ -static inline void deassert_reset(struct gpio_desc *gpio) -{ - gpiod_set_raw_value(gpio, 1); -} - -static inline void assert_reset(struct gpio_desc *gpio) -{ - gpiod_set_raw_value(gpio, 0); -} - -/* - * Note: Please do not modify the below sequence, as it is as per the spec - */ -static int coldboot_seq(struct platform_device *pdev) -{ - struct device *dev = &pdev->dev; - struct arche_apb_ctrl_drvdata *apb = platform_get_drvdata(pdev); - int ret; - - if (apb->init_disabled || - apb->state == ARCHE_PLATFORM_STATE_ACTIVE) - return 0; - - /* Hold APB in reset state */ - assert_reset(apb->resetn); - - if (apb->state == ARCHE_PLATFORM_STATE_FW_FLASHING && apb->spi_en) - devm_gpiod_put(dev, apb->spi_en); - - /* Enable power to APB */ - if (!IS_ERR(apb->vcore)) { - ret = regulator_enable(apb->vcore); - if (ret) { - dev_err(dev, "failed to enable core regulator\n"); - return ret; - } - } - - if (!IS_ERR(apb->vio)) { - ret = regulator_enable(apb->vio); - if (ret) { - dev_err(dev, "failed to enable IO regulator\n"); - return ret; - } - } - - apb_bootret_deassert(dev); - - /* On DB3 clock was not mandatory */ - if (apb->clk_en) - gpiod_set_value(apb->clk_en, 1); - - usleep_range(100, 200); - - /* deassert reset to APB : Active-low signal */ - deassert_reset(apb->resetn); - - apb->state = ARCHE_PLATFORM_STATE_ACTIVE; - - return 0; -} - -static int fw_flashing_seq(struct platform_device *pdev) -{ - struct device *dev = &pdev->dev; - struct arche_apb_ctrl_drvdata *apb = platform_get_drvdata(pdev); - int ret; - - if (apb->init_disabled || - apb->state == ARCHE_PLATFORM_STATE_FW_FLASHING) - return 0; - - ret = regulator_enable(apb->vcore); - if (ret) { - dev_err(dev, "failed to enable core regulator\n"); - return ret; - } - - ret = regulator_enable(apb->vio); - if (ret) { - dev_err(dev, "failed to enable IO regulator\n"); - return ret; - } - - if (apb->spi_en) { - unsigned long flags; - - if (apb->spi_en_polarity_high) - flags = GPIOD_OUT_HIGH; - else - flags = GPIOD_OUT_LOW; - - apb->spi_en = devm_gpiod_get(dev, "spi-en", flags); - if (IS_ERR(apb->spi_en)) { - ret = PTR_ERR(apb->spi_en); - dev_err(dev, "Failed requesting SPI bus en GPIO: %d\n", - ret); - return ret; - } - } - - /* for flashing device should be in reset state */ - assert_reset(apb->resetn); - apb->state = ARCHE_PLATFORM_STATE_FW_FLASHING; - - return 0; -} - -static int standby_boot_seq(struct platform_device *pdev) -{ - struct device *dev = &pdev->dev; - struct arche_apb_ctrl_drvdata *apb = platform_get_drvdata(pdev); - - if (apb->init_disabled) - return 0; - - /* - * Even if it is in OFF state, - * then we do not want to change the state - */ - if (apb->state == ARCHE_PLATFORM_STATE_STANDBY || - apb->state == ARCHE_PLATFORM_STATE_OFF) - return 0; - - if (apb->state == ARCHE_PLATFORM_STATE_FW_FLASHING && apb->spi_en) - devm_gpiod_put(dev, apb->spi_en); - - /* - * As per WDM spec, do nothing - * - * Pasted from WDM spec, - * - A falling edge on POWEROFF_L is detected (a) - * - WDM enters standby mode, but no output signals are changed - */ - - /* TODO: POWEROFF_L is input to WDM module */ - apb->state = ARCHE_PLATFORM_STATE_STANDBY; - return 0; -} - -static void poweroff_seq(struct platform_device *pdev) -{ - struct device *dev = &pdev->dev; - struct arche_apb_ctrl_drvdata *apb = platform_get_drvdata(pdev); - - if (apb->init_disabled || apb->state == ARCHE_PLATFORM_STATE_OFF) - return; - - if (apb->state == ARCHE_PLATFORM_STATE_FW_FLASHING && apb->spi_en) - devm_gpiod_put(dev, apb->spi_en); - - /* disable the clock */ - if (apb->clk_en) - gpiod_set_value(apb->clk_en, 0); - - if (!IS_ERR(apb->vcore) && regulator_is_enabled(apb->vcore) > 0) - regulator_disable(apb->vcore); - - if (!IS_ERR(apb->vio) && regulator_is_enabled(apb->vio) > 0) - regulator_disable(apb->vio); - - /* As part of exit, put APB back in reset state */ - assert_reset(apb->resetn); - apb->state = ARCHE_PLATFORM_STATE_OFF; - - /* TODO: May have to send an event to SVC about this exit */ -} - -static void apb_bootret_deassert(struct device *dev) -{ - struct arche_apb_ctrl_drvdata *apb = dev_get_drvdata(dev); - - gpiod_set_value(apb->boot_ret, 0); -} - -int apb_ctrl_coldboot(struct device *dev) -{ - return coldboot_seq(to_platform_device(dev)); -} - -int apb_ctrl_fw_flashing(struct device *dev) -{ - return fw_flashing_seq(to_platform_device(dev)); -} - -int apb_ctrl_standby_boot(struct device *dev) -{ - return standby_boot_seq(to_platform_device(dev)); -} - -void apb_ctrl_poweroff(struct device *dev) -{ - poweroff_seq(to_platform_device(dev)); -} - -static ssize_t state_store(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - struct platform_device *pdev = to_platform_device(dev); - struct arche_apb_ctrl_drvdata *apb = platform_get_drvdata(pdev); - int ret = 0; - bool is_disabled; - - if (sysfs_streq(buf, "off")) { - if (apb->state == ARCHE_PLATFORM_STATE_OFF) - return count; - - poweroff_seq(pdev); - } else if (sysfs_streq(buf, "active")) { - if (apb->state == ARCHE_PLATFORM_STATE_ACTIVE) - return count; - - poweroff_seq(pdev); - is_disabled = apb->init_disabled; - apb->init_disabled = false; - ret = coldboot_seq(pdev); - if (ret) - apb->init_disabled = is_disabled; - } else if (sysfs_streq(buf, "standby")) { - if (apb->state == ARCHE_PLATFORM_STATE_STANDBY) - return count; - - ret = standby_boot_seq(pdev); - } else if (sysfs_streq(buf, "fw_flashing")) { - if (apb->state == ARCHE_PLATFORM_STATE_FW_FLASHING) - return count; - - /* - * First we want to make sure we power off everything - * and then enter FW flashing state - */ - poweroff_seq(pdev); - ret = fw_flashing_seq(pdev); - } else { - dev_err(dev, "unknown state\n"); - ret = -EINVAL; - } - - return ret ? ret : count; -} - -static ssize_t state_show(struct device *dev, - struct device_attribute *attr, char *buf) -{ - struct arche_apb_ctrl_drvdata *apb = dev_get_drvdata(dev); - - switch (apb->state) { - case ARCHE_PLATFORM_STATE_OFF: - return sysfs_emit(buf, "off%s\n", - apb->init_disabled ? ",disabled" : ""); - case ARCHE_PLATFORM_STATE_ACTIVE: - return sysfs_emit(buf, "active\n"); - case ARCHE_PLATFORM_STATE_STANDBY: - return sysfs_emit(buf, "standby\n"); - case ARCHE_PLATFORM_STATE_FW_FLASHING: - return sysfs_emit(buf, "fw_flashing\n"); - default: - return sysfs_emit(buf, "unknown state\n"); - } -} - -static DEVICE_ATTR_RW(state); - -static int apb_ctrl_get_fw_data(struct platform_device *pdev, - struct arche_apb_ctrl_drvdata *apb) -{ - struct device *dev = &pdev->dev; - int ret; - - apb->resetn = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW); - if (IS_ERR(apb->resetn)) { - ret = PTR_ERR(apb->resetn); - dev_err(dev, "Failed requesting reset GPIO: %d\n", ret); - return ret; - } - - apb->boot_ret = devm_gpiod_get(dev, "boot-ret", GPIOD_OUT_LOW); - if (IS_ERR(apb->boot_ret)) { - ret = PTR_ERR(apb->boot_ret); - dev_err(dev, "Failed requesting bootret GPIO: %d\n", ret); - return ret; - } - - /* It's not mandatory to support power management interface */ - apb->pwroff = devm_gpiod_get_optional(dev, "pwr-off", GPIOD_IN); - if (IS_ERR(apb->pwroff)) { - ret = PTR_ERR(apb->pwroff); - dev_err(dev, "Failed requesting pwroff_n GPIO: %d\n", ret); - return ret; - } - - /* Do not make clock mandatory as of now (for DB3) */ - apb->clk_en = devm_gpiod_get_optional(dev, "clock-en", GPIOD_OUT_LOW); - if (IS_ERR(apb->clk_en)) { - ret = PTR_ERR(apb->clk_en); - dev_err(dev, "Failed requesting APB clock en GPIO: %d\n", ret); - return ret; - } - - apb->pwrdn = devm_gpiod_get(dev, "pwr-down", GPIOD_OUT_LOW); - if (IS_ERR(apb->pwrdn)) { - ret = PTR_ERR(apb->pwrdn); - dev_warn(dev, "Failed requesting power down GPIO: %d\n", ret); - return ret; - } - - /* Regulators are optional, as we may have fixed supply coming in */ - apb->vcore = devm_regulator_get(dev, "vcore"); - if (IS_ERR(apb->vcore)) - dev_warn(dev, "no core regulator found\n"); - - apb->vio = devm_regulator_get(dev, "vio"); - if (IS_ERR(apb->vio)) - dev_warn(dev, "no IO regulator found\n"); - - apb->pinctrl = devm_pinctrl_get(&pdev->dev); - if (IS_ERR(apb->pinctrl)) { - dev_err(&pdev->dev, "could not get pinctrl handle\n"); - return PTR_ERR(apb->pinctrl); - } - apb->pin_default = pinctrl_lookup_state(apb->pinctrl, "default"); - if (IS_ERR(apb->pin_default)) { - dev_err(&pdev->dev, "could not get default pin state\n"); - return PTR_ERR(apb->pin_default); - } - - /* Only applicable for platform >= V2 */ - if (device_property_read_bool(&pdev->dev, "gb,spi-en-active-high")) - apb->spi_en_polarity_high = true; - - return 0; -} - -static int arche_apb_ctrl_probe(struct platform_device *pdev) -{ - int ret; - struct arche_apb_ctrl_drvdata *apb; - struct device *dev = &pdev->dev; - - apb = devm_kzalloc(&pdev->dev, sizeof(*apb), GFP_KERNEL); - if (!apb) - return -ENOMEM; - - ret = apb_ctrl_get_fw_data(pdev, apb); - if (ret) { - dev_err(dev, "failed to get apb devicetree data %d\n", ret); - return ret; - } - - /* Initially set APB to OFF state */ - apb->state = ARCHE_PLATFORM_STATE_OFF; - /* Check whether device needs to be enabled on boot */ - if (device_property_read_bool(&pdev->dev, "arche,init-disable")) - apb->init_disabled = true; - - platform_set_drvdata(pdev, apb); - - /* Create sysfs interface to allow user to change state dynamically */ - ret = device_create_file(dev, &dev_attr_state); - if (ret) { - dev_err(dev, "failed to create state file in sysfs\n"); - return ret; - } - - dev_info(&pdev->dev, "Device registered successfully\n"); - return 0; -} - -static void arche_apb_ctrl_remove(struct platform_device *pdev) -{ - device_remove_file(&pdev->dev, &dev_attr_state); - poweroff_seq(pdev); - platform_set_drvdata(pdev, NULL); -} - -static int __maybe_unused arche_apb_ctrl_suspend(struct device *dev) -{ - /* - * If timing profile permits, we may shutdown bridge - * completely - * - * TODO: sequence ?? - * - * Also, need to make sure we meet precondition for unipro suspend - * Precondition: Definition ??? - */ - return 0; -} - -static int __maybe_unused arche_apb_ctrl_resume(struct device *dev) -{ - /* - * At least for ES2 we have to meet the delay requirement between - * unipro switch and AP bridge init, depending on whether bridge is in - * OFF state or standby state. - * - * Based on whether bridge is in standby or OFF state we may have to - * assert multiple signals. Please refer to WDM spec, for more info. - * - */ - return 0; -} - -static void arche_apb_ctrl_shutdown(struct platform_device *pdev) -{ - apb_ctrl_poweroff(&pdev->dev); -} - -static SIMPLE_DEV_PM_OPS(arche_apb_ctrl_pm_ops, arche_apb_ctrl_suspend, - arche_apb_ctrl_resume); - -static const struct of_device_id arche_apb_ctrl_of_match[] = { - { .compatible = "usbffff,2", }, - { }, -}; -MODULE_DEVICE_TABLE(of, arche_apb_ctrl_of_match); - -static struct platform_driver arche_apb_ctrl_device_driver = { - .probe = arche_apb_ctrl_probe, - .remove = arche_apb_ctrl_remove, - .shutdown = arche_apb_ctrl_shutdown, - .driver = { - .name = "arche-apb-ctrl", - .pm = &arche_apb_ctrl_pm_ops, - .of_match_table = arche_apb_ctrl_of_match, - } -}; - -int __init arche_apb_init(void) -{ - return platform_driver_register(&arche_apb_ctrl_device_driver); -} - -void __exit arche_apb_exit(void) -{ - platform_driver_unregister(&arche_apb_ctrl_device_driver); -} diff --git a/drivers/staging/greybus/arche-platform.c b/drivers/staging/greybus/arche-platform.c deleted file mode 100644 index de5de59ea8ab..000000000000 --- a/drivers/staging/greybus/arche-platform.c +++ /dev/null @@ -1,653 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Arche Platform driver to enable Unipro link. - * - * Copyright 2014-2015 Google Inc. - * Copyright 2014-2015 Linaro Ltd. - */ - -#include <linux/clk.h> -#include <linux/delay.h> -#include <linux/gpio/consumer.h> -#include <linux/init.h> -#include <linux/module.h> -#include <linux/of_platform.h> -#include <linux/pinctrl/consumer.h> -#include <linux/platform_device.h> -#include <linux/pm.h> -#include <linux/interrupt.h> -#include <linux/irq.h> -#include <linux/suspend.h> -#include <linux/time.h> -#include <linux/greybus.h> -#include <linux/of.h> -#include "arche_platform.h" - -#if IS_ENABLED(CONFIG_USB_HSIC_USB3613) -#include <linux/usb/usb3613.h> -#else -static inline int usb3613_hub_mode_ctrl(bool unused) -{ - return 0; -} -#endif - -#define WD_COLDBOOT_PULSE_WIDTH_MS 30 - -enum svc_wakedetect_state { - WD_STATE_IDLE, /* Default state = pulled high/low */ - WD_STATE_BOOT_INIT, /* WD = falling edge (low) */ - WD_STATE_COLDBOOT_TRIG, /* WD = rising edge (high), > 30msec */ - WD_STATE_STANDBYBOOT_TRIG, /* As of now not used ?? */ - WD_STATE_COLDBOOT_START, /* Cold boot process started */ - WD_STATE_STANDBYBOOT_START, /* Not used */ -}; - -struct arche_platform_drvdata { - /* Control GPIO signals to and from AP <=> SVC */ - struct gpio_desc *svc_reset; - bool is_reset_act_hi; - struct gpio_desc *svc_sysboot; - struct gpio_desc *wake_detect; /* bi-dir,maps to WAKE_MOD & WAKE_FRAME signals */ - - enum arche_platform_state state; - - struct gpio_desc *svc_refclk_req; - struct clk *svc_ref_clk; - - struct pinctrl *pinctrl; - struct pinctrl_state *pin_default; - - int num_apbs; - - enum svc_wakedetect_state wake_detect_state; - int wake_detect_irq; - spinlock_t wake_lock; /* Protect wake_detect_state */ - struct mutex platform_state_mutex; /* Protect state */ - unsigned long wake_detect_start; - struct notifier_block pm_notifier; - - struct device *dev; -}; - -/* Requires calling context to hold arche_pdata->platform_state_mutex */ -static void arche_platform_set_state(struct arche_platform_drvdata *arche_pdata, - enum arche_platform_state state) -{ - arche_pdata->state = state; -} - -/* Requires arche_pdata->wake_lock is held by calling context */ -static void arche_platform_set_wake_detect_state(struct arche_platform_drvdata *arche_pdata, - enum svc_wakedetect_state state) -{ - arche_pdata->wake_detect_state = state; -} - -static inline void svc_reset_onoff(struct gpio_desc *gpio, bool onoff) -{ - gpiod_set_raw_value(gpio, onoff); -} - -static int apb_cold_boot(struct device *dev, void *data) -{ - int ret; - - ret = apb_ctrl_coldboot(dev); - if (ret) - dev_warn(dev, "failed to coldboot\n"); - - /*Child nodes are independent, so do not exit coldboot operation */ - return 0; -} - -static int apb_poweroff(struct device *dev, void *data) -{ - apb_ctrl_poweroff(dev); - - /* Enable HUB3613 into HUB mode. */ - if (usb3613_hub_mode_ctrl(false)) - dev_warn(dev, "failed to control hub device\n"); - - return 0; -} - -static void arche_platform_wd_irq_en(struct arche_platform_drvdata *arche_pdata) -{ - /* Enable interrupt here, to read event back from SVC */ - enable_irq(arche_pdata->wake_detect_irq); -} - -static irqreturn_t arche_platform_wd_irq_thread(int irq, void *devid) -{ - struct arche_platform_drvdata *arche_pdata = devid; - unsigned long flags; - - spin_lock_irqsave(&arche_pdata->wake_lock, flags); - if (arche_pdata->wake_detect_state != WD_STATE_COLDBOOT_TRIG) { - /* Something is wrong */ - spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); - return IRQ_HANDLED; - } - - arche_platform_set_wake_detect_state(arche_pdata, - WD_STATE_COLDBOOT_START); - spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); - - /* It should complete power cycle, so first make sure it is poweroff */ - device_for_each_child(arche_pdata->dev, NULL, apb_poweroff); - - /* Bring APB out of reset: cold boot sequence */ - device_for_each_child(arche_pdata->dev, NULL, apb_cold_boot); - - /* Enable HUB3613 into HUB mode. */ - if (usb3613_hub_mode_ctrl(true)) - dev_warn(arche_pdata->dev, "failed to control hub device\n"); - - spin_lock_irqsave(&arche_pdata->wake_lock, flags); - arche_platform_set_wake_detect_state(arche_pdata, WD_STATE_IDLE); - spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); - - return IRQ_HANDLED; -} - -static irqreturn_t arche_platform_wd_irq(int irq, void *devid) -{ - struct arche_platform_drvdata *arche_pdata = devid; - unsigned long flags; - - spin_lock_irqsave(&arche_pdata->wake_lock, flags); - - if (gpiod_get_value(arche_pdata->wake_detect)) { - /* wake/detect rising */ - - /* - * If wake/detect line goes high after low, within less than - * 30msec, then standby boot sequence is initiated, which is not - * supported/implemented as of now. So ignore it. - */ - if (arche_pdata->wake_detect_state == WD_STATE_BOOT_INIT) { - if (time_before(jiffies, - arche_pdata->wake_detect_start + - msecs_to_jiffies(WD_COLDBOOT_PULSE_WIDTH_MS))) { - arche_platform_set_wake_detect_state(arche_pdata, - WD_STATE_IDLE); - } else { - /* - * Check we are not in middle of irq thread - * already - */ - if (arche_pdata->wake_detect_state != - WD_STATE_COLDBOOT_START) { - arche_platform_set_wake_detect_state(arche_pdata, - WD_STATE_COLDBOOT_TRIG); - spin_unlock_irqrestore(&arche_pdata->wake_lock, - flags); - return IRQ_WAKE_THREAD; - } - } - } - } else { - /* wake/detect falling */ - if (arche_pdata->wake_detect_state == WD_STATE_IDLE) { - arche_pdata->wake_detect_start = jiffies; - /* - * In the beginning, when wake/detect goes low - * (first time), we assume it is meant for coldboot - * and set the flag. If wake/detect line stays low - * beyond 30msec, then it is coldboot else fallback - * to standby boot. - */ - arche_platform_set_wake_detect_state(arche_pdata, - WD_STATE_BOOT_INIT); - } - } - - spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); - - return IRQ_HANDLED; -} - -/* - * Requires arche_pdata->platform_state_mutex to be held - */ -static int -arche_platform_coldboot_seq(struct arche_platform_drvdata *arche_pdata) -{ - int ret; - - if (arche_pdata->state == ARCHE_PLATFORM_STATE_ACTIVE) - return 0; - - dev_info(arche_pdata->dev, "Booting from cold boot state\n"); - - svc_reset_onoff(arche_pdata->svc_reset, arche_pdata->is_reset_act_hi); - - gpiod_set_value(arche_pdata->svc_sysboot, 0); - usleep_range(100, 200); - - ret = clk_prepare_enable(arche_pdata->svc_ref_clk); - if (ret) { - dev_err(arche_pdata->dev, "failed to enable svc_ref_clk: %d\n", - ret); - return ret; - } - - /* bring SVC out of reset */ - svc_reset_onoff(arche_pdata->svc_reset, !arche_pdata->is_reset_act_hi); - - arche_platform_set_state(arche_pdata, ARCHE_PLATFORM_STATE_ACTIVE); - - return 0; -} - -/* - * Requires arche_pdata->platform_state_mutex to be held - */ -static int -arche_platform_fw_flashing_seq(struct arche_platform_drvdata *arche_pdata) -{ - int ret; - - if (arche_pdata->state == ARCHE_PLATFORM_STATE_FW_FLASHING) - return 0; - - dev_info(arche_pdata->dev, "Switching to FW flashing state\n"); - - svc_reset_onoff(arche_pdata->svc_reset, arche_pdata->is_reset_act_hi); - - gpiod_set_value(arche_pdata->svc_sysboot, 1); - - usleep_range(100, 200); - - ret = clk_prepare_enable(arche_pdata->svc_ref_clk); - if (ret) { - dev_err(arche_pdata->dev, "failed to enable svc_ref_clk: %d\n", - ret); - return ret; - } - - svc_reset_onoff(arche_pdata->svc_reset, !arche_pdata->is_reset_act_hi); - - arche_platform_set_state(arche_pdata, ARCHE_PLATFORM_STATE_FW_FLASHING); - - return 0; -} - -/* - * Requires arche_pdata->platform_state_mutex to be held - */ -static void -arche_platform_poweroff_seq(struct arche_platform_drvdata *arche_pdata) -{ - unsigned long flags; - - if (arche_pdata->state == ARCHE_PLATFORM_STATE_OFF) - return; - - /* If in fw_flashing mode, then no need to repeate things again */ - if (arche_pdata->state != ARCHE_PLATFORM_STATE_FW_FLASHING) { - disable_irq(arche_pdata->wake_detect_irq); - - spin_lock_irqsave(&arche_pdata->wake_lock, flags); - arche_platform_set_wake_detect_state(arche_pdata, - WD_STATE_IDLE); - spin_unlock_irqrestore(&arche_pdata->wake_lock, flags); - } - - clk_disable_unprepare(arche_pdata->svc_ref_clk); - - /* As part of exit, put APB back in reset state */ - svc_reset_onoff(arche_pdata->svc_reset, arche_pdata->is_reset_act_hi); - - arche_platform_set_state(arche_pdata, ARCHE_PLATFORM_STATE_OFF); -} - -static ssize_t state_store(struct device *dev, - struct device_attribute *attr, - const char *buf, size_t count) -{ - struct arche_platform_drvdata *arche_pdata = dev_get_drvdata(dev); - int ret = 0; - - mutex_lock(&arche_pdata->platform_state_mutex); - - if (sysfs_streq(buf, "off")) { - if (arche_pdata->state == ARCHE_PLATFORM_STATE_OFF) - goto exit; - - /* If SVC goes down, bring down APB's as well */ - device_for_each_child(arche_pdata->dev, NULL, apb_poweroff); - - arche_platform_poweroff_seq(arche_pdata); - - } else if (sysfs_streq(buf, "active")) { - if (arche_pdata->state == ARCHE_PLATFORM_STATE_ACTIVE) - goto exit; - - /* First we want to make sure we power off everything - * and then activate back again - */ - device_for_each_child(arche_pdata->dev, NULL, apb_poweroff); - arche_platform_poweroff_seq(arche_pdata); - - arche_platform_wd_irq_en(arche_pdata); - ret = arche_platform_coldboot_seq(arche_pdata); - if (ret) - goto exit; - - } else if (sysfs_streq(buf, "standby")) { - if (arche_pdata->state == ARCHE_PLATFORM_STATE_STANDBY) - goto exit; - - dev_warn(arche_pdata->dev, "standby state not supported\n"); - } else if (sysfs_streq(buf, "fw_flashing")) { - if (arche_pdata->state == ARCHE_PLATFORM_STATE_FW_FLASHING) - goto exit; - - /* - * Here we only control SVC. - * - * In case of FW_FLASHING mode we do not want to control - * APBs, as in case of V2, SPI bus is shared between both - * the APBs. So let user chose which APB he wants to flash. - */ - arche_platform_poweroff_seq(arche_pdata); - - ret = arche_platform_fw_flashing_seq(arche_pdata); - if (ret) - goto exit; - } else { - dev_err(arche_pdata->dev, "unknown state\n"); - ret = -EINVAL; - } - -exit: - mutex_unlock(&arche_pdata->platform_state_mutex); - return ret ? ret : count; -} - -static ssize_t state_show(struct device *dev, - struct device_attribute *attr, char *buf) -{ - struct arche_platform_drvdata *arche_pdata = dev_get_drvdata(dev); - - switch (arche_pdata->state) { - case ARCHE_PLATFORM_STATE_OFF: - return sysfs_emit(buf, "off\n"); - case ARCHE_PLATFORM_STATE_ACTIVE: - return sysfs_emit(buf, "active\n"); - case ARCHE_PLATFORM_STATE_STANDBY: - return sysfs_emit(buf, "standby\n"); - case ARCHE_PLATFORM_STATE_FW_FLASHING: - return sysfs_emit(buf, "fw_flashing\n"); - default: - return sysfs_emit(buf, "unknown state\n"); - } -} - -static DEVICE_ATTR_RW(state); - -static int arche_platform_pm_notifier(struct notifier_block *notifier, - unsigned long pm_event, void *unused) -{ - struct arche_platform_drvdata *arche_pdata = - container_of(notifier, struct arche_platform_drvdata, - pm_notifier); - int ret = NOTIFY_DONE; - - mutex_lock(&arche_pdata->platform_state_mutex); - switch (pm_event) { - case PM_SUSPEND_PREPARE: - if (arche_pdata->state != ARCHE_PLATFORM_STATE_ACTIVE) { - ret = NOTIFY_STOP; - break; - } - device_for_each_child(arche_pdata->dev, NULL, apb_poweroff); - arche_platform_poweroff_seq(arche_pdata); - break; - case PM_POST_SUSPEND: - if (arche_pdata->state != ARCHE_PLATFORM_STATE_OFF) - break; - - arche_platform_wd_irq_en(arche_pdata); - arche_platform_coldboot_seq(arche_pdata); - break; - default: - break; - } - mutex_unlock(&arche_pdata->platform_state_mutex); - - return ret; -} - -static int arche_platform_probe(struct platform_device *pdev) -{ - struct arche_platform_drvdata *arche_pdata; - struct device *dev = &pdev->dev; - struct device_node *np = dev->of_node; - int ret; - unsigned int flags; - - arche_pdata = devm_kzalloc(&pdev->dev, sizeof(*arche_pdata), - GFP_KERNEL); - if (!arche_pdata) - return -ENOMEM; - - /* setup svc reset gpio */ - arche_pdata->is_reset_act_hi = of_property_read_bool(np, - "svc,reset-active-high"); - if (arche_pdata->is_reset_act_hi) - flags = GPIOD_OUT_HIGH; - else - flags = GPIOD_OUT_LOW; - - arche_pdata->svc_reset = devm_gpiod_get(dev, "svc,reset", flags); - if (IS_ERR(arche_pdata->svc_reset)) { - ret = PTR_ERR(arche_pdata->svc_reset); - dev_err(dev, "failed to request svc-reset GPIO: %d\n", ret); - return ret; - } - arche_platform_set_state(arche_pdata, ARCHE_PLATFORM_STATE_OFF); - - arche_pdata->svc_sysboot = devm_gpiod_get(dev, "svc,sysboot", - GPIOD_OUT_LOW); - if (IS_ERR(arche_pdata->svc_sysboot)) { - ret = PTR_ERR(arche_pdata->svc_sysboot); - dev_err(dev, "failed to request sysboot0 GPIO: %d\n", ret); - return ret; - } - - /* setup the clock request gpio first */ - arche_pdata->svc_refclk_req = devm_gpiod_get(dev, "svc,refclk-req", - GPIOD_IN); - if (IS_ERR(arche_pdata->svc_refclk_req)) { - ret = PTR_ERR(arche_pdata->svc_refclk_req); - dev_err(dev, "failed to request svc-clk-req GPIO: %d\n", ret); - return ret; - } - - /* setup refclk2 to follow the pin */ - arche_pdata->svc_ref_clk = devm_clk_get(dev, "svc_ref_clk"); - if (IS_ERR(arche_pdata->svc_ref_clk)) { - ret = PTR_ERR(arche_pdata->svc_ref_clk); - dev_err(dev, "failed to get svc_ref_clk: %d\n", ret); - return ret; - } - - platform_set_drvdata(pdev, arche_pdata); - - arche_pdata->num_apbs = of_get_child_count(np); - dev_dbg(dev, "Number of APB's available - %d\n", arche_pdata->num_apbs); - - arche_pdata->wake_detect = devm_gpiod_get(dev, "svc,wake-detect", - GPIOD_IN); - if (IS_ERR(arche_pdata->wake_detect)) { - ret = PTR_ERR(arche_pdata->wake_detect); - dev_err(dev, "Failed requesting wake_detect GPIO: %d\n", ret); - return ret; - } - - arche_platform_set_wake_detect_state(arche_pdata, WD_STATE_IDLE); - - arche_pdata->dev = &pdev->dev; - - spin_lock_init(&arche_pdata->wake_lock); - mutex_init(&arche_pdata->platform_state_mutex); - arche_pdata->wake_detect_irq = - gpiod_to_irq(arche_pdata->wake_detect); - - ret = devm_request_threaded_irq(dev, arche_pdata->wake_detect_irq, - arche_platform_wd_irq, - arche_platform_wd_irq_thread, - IRQF_TRIGGER_FALLING | - IRQF_TRIGGER_RISING | IRQF_ONESHOT, - dev_name(dev), arche_pdata); - if (ret) { - dev_err(dev, "failed to request wake detect IRQ %d\n", ret); - return ret; - } - disable_irq(arche_pdata->wake_detect_irq); - - ret = device_create_file(dev, &dev_attr_state); - if (ret) { - dev_err(dev, "failed to create state file in sysfs\n"); - return ret; - } - - ret = of_platform_populate(np, NULL, NULL, dev); - if (ret) { - dev_err(dev, "failed to populate child nodes %d\n", ret); - goto err_device_remove; - } - - arche_pdata->pm_notifier.notifier_call = arche_platform_pm_notifier; - ret = register_pm_notifier(&arche_pdata->pm_notifier); - if (ret) { - dev_err(dev, "failed to register pm notifier %d\n", ret); - goto err_depopulate; - } - - /* Explicitly power off if requested */ - if (!of_property_read_bool(pdev->dev.of_node, "arche,init-off")) { - mutex_lock(&arche_pdata->platform_state_mutex); - ret = arche_platform_coldboot_seq(arche_pdata); - if (ret) { - mutex_unlock(&arche_pdata->platform_state_mutex); - dev_err(dev, "Failed to cold boot svc %d\n", ret); - goto err_unregister_pm_notifier; - } - arche_platform_wd_irq_en(arche_pdata); - mutex_unlock(&arche_pdata->platform_state_mutex); - } - - dev_info(dev, "Device registered successfully\n"); - return 0; - -err_unregister_pm_notifier: - unregister_pm_notifier(&arche_pdata->pm_notifier); -err_depopulate: - of_platform_depopulate(dev); -err_device_remove: - device_remove_file(&pdev->dev, &dev_attr_state); - return ret; -} - -static void arche_platform_remove(struct platform_device *pdev) -{ - struct arche_platform_drvdata *arche_pdata = platform_get_drvdata(pdev); - - unregister_pm_notifier(&arche_pdata->pm_notifier); - device_remove_file(&pdev->dev, &dev_attr_state); - of_platform_depopulate(&pdev->dev); - arche_platform_poweroff_seq(arche_pdata); - - if (usb3613_hub_mode_ctrl(false)) - dev_warn(arche_pdata->dev, "failed to control hub device\n"); -} - -static __maybe_unused int arche_platform_suspend(struct device *dev) -{ - /* - * If timing profile permits, we may shutdown bridge - * completely - * - * TODO: define shutdown sequence - * - * Also, need to make sure we meet precondition for unipro suspend - * Precondition: Definition ??? - */ - return 0; -} - -static __maybe_unused int arche_platform_resume(struct device *dev) -{ - /* - * At least for ES2 we have to meet the delay requirement between - * unipro switch and AP bridge init, depending on whether bridge is in - * OFF state or standby state. - * - * Based on whether bridge is in standby or OFF state we may have to - * assert multiple signals. Please refer to WDM spec, for more info. - * - */ - return 0; -} - -static void arche_platform_shutdown(struct platform_device *pdev) -{ - struct arche_platform_drvdata *arche_pdata = platform_get_drvdata(pdev); - - arche_platform_poweroff_seq(arche_pdata); - - usb3613_hub_mode_ctrl(false); -} - -static SIMPLE_DEV_PM_OPS(arche_platform_pm_ops, - arche_platform_suspend, - arche_platform_resume); - -static const struct of_device_id arche_platform_of_match[] = { - /* Use PID/VID of SVC device */ - { .compatible = "google,arche-platform", }, - { }, -}; -MODULE_DEVICE_TABLE(of, arche_platform_of_match); - -static struct platform_driver arche_platform_device_driver = { - .probe = arche_platform_probe, - .remove = arche_platform_remove, - .shutdown = arche_platform_shutdown, - .driver = { - .name = "arche-platform-ctrl", - .pm = &arche_platform_pm_ops, - .of_match_table = arche_platform_of_match, - } -}; - -static int __init arche_init(void) -{ - int retval; - - retval = platform_driver_register(&arche_platform_device_driver); - if (retval) - return retval; - - retval = arche_apb_init(); - if (retval) - platform_driver_unregister(&arche_platform_device_driver); - - return retval; -} -module_init(arche_init); - -static void __exit arche_exit(void) -{ - arche_apb_exit(); - platform_driver_unregister(&arche_platform_device_driver); -} -module_exit(arche_exit); - -MODULE_LICENSE("GPL v2"); -MODULE_AUTHOR("Vaibhav Hiremath <vaibhav.hiremath@linaro.org>"); -MODULE_DESCRIPTION("Arche Platform Driver"); diff --git a/drivers/staging/greybus/arche_platform.h b/drivers/staging/greybus/arche_platform.h deleted file mode 100644 index 9d997f2d6517..000000000000 --- a/drivers/staging/greybus/arche_platform.h +++ /dev/null @@ -1,28 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -/* - * Arche Platform driver to enable Unipro link. - * - * Copyright 2015-2016 Google Inc. - * Copyright 2015-2016 Linaro Ltd. - */ - -#ifndef __ARCHE_PLATFORM_H -#define __ARCHE_PLATFORM_H - -enum arche_platform_state { - ARCHE_PLATFORM_STATE_OFF, - ARCHE_PLATFORM_STATE_ACTIVE, - ARCHE_PLATFORM_STATE_STANDBY, - ARCHE_PLATFORM_STATE_FW_FLASHING, -}; - -int __init arche_apb_init(void); -void __exit arche_apb_exit(void); - -/* Operational states for the APB device */ -int apb_ctrl_coldboot(struct device *dev); -int apb_ctrl_fw_flashing(struct device *dev); -int apb_ctrl_standby_boot(struct device *dev); -void apb_ctrl_poweroff(struct device *dev); - -#endif /* __ARCHE_PLATFORM_H */ diff --git a/drivers/staging/greybus/camera.c b/drivers/staging/greybus/camera.c deleted file mode 100644 index 62b55bb28408..000000000000 --- a/drivers/staging/greybus/camera.c +++ /dev/null @@ -1,1367 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Greybus Camera protocol driver. - * - * Copyright 2015 Google Inc. - * Copyright 2015 Linaro Ltd. - */ - -#include <linux/debugfs.h> -#include <linux/fs.h> -#include <linux/kernel.h> -#include <linux/module.h> -#include <linux/slab.h> -#include <linux/string.h> -#include <linux/uaccess.h> -#include <linux/vmalloc.h> -#include <linux/greybus.h> - -#include "gb-camera.h" -#include "greybus_protocols.h" - -enum gb_camera_debugs_buffer_id { - GB_CAMERA_DEBUGFS_BUFFER_CAPABILITIES, - GB_CAMERA_DEBUGFS_BUFFER_STREAMS, - GB_CAMERA_DEBUGFS_BUFFER_CAPTURE, - GB_CAMERA_DEBUGFS_BUFFER_FLUSH, - GB_CAMERA_DEBUGFS_BUFFER_MAX, -}; - -struct gb_camera_debugfs_buffer { - char data[PAGE_SIZE]; - size_t length; -}; - -enum gb_camera_state { - GB_CAMERA_STATE_UNCONFIGURED, - GB_CAMERA_STATE_CONFIGURED, -}; - -/** - * struct gb_camera - A Greybus Camera Device - * @connection: the greybus connection for camera management - * @data_connection: the greybus connection for camera data - * @data_cport_id: the data CPort ID on the module side - * @mutex: protects the connection and state fields - * @state: the current module state - * @debugfs: debugfs entries for camera protocol operations testing - * @module: Greybus camera module registered to HOST processor. - */ -struct gb_camera { - struct gb_bundle *bundle; - struct gb_connection *connection; - struct gb_connection *data_connection; - u16 data_cport_id; - - struct mutex mutex; - enum gb_camera_state state; - - struct { - struct dentry *root; - struct gb_camera_debugfs_buffer *buffers; - } debugfs; - - struct gb_camera_module module; -}; - -struct gb_camera_stream_config { - unsigned int width; - unsigned int height; - unsigned int format; - unsigned int vc; - unsigned int dt[2]; - unsigned int max_size; -}; - -struct gb_camera_fmt_info { - enum v4l2_mbus_pixelcode mbus_code; - unsigned int gb_format; - unsigned int bpp; -}; - -/* GB format to media code map */ -static const struct gb_camera_fmt_info gb_fmt_info[] = { - { - .mbus_code = V4L2_MBUS_FMT_UYVY8_1X16, - .gb_format = 0x01, - .bpp = 16, - }, - { - .mbus_code = V4L2_MBUS_FMT_NV12_1x8, - .gb_format = 0x12, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_NV21_1x8, - .gb_format = 0x13, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_YU12_1x8, - .gb_format = 0x16, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_YV12_1x8, - .gb_format = 0x17, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_JPEG_1X8, - .gb_format = 0x40, - .bpp = 0, - }, - { - .mbus_code = V4L2_MBUS_FMT_GB_CAM_METADATA_1X8, - .gb_format = 0x41, - .bpp = 0, - }, - { - .mbus_code = V4L2_MBUS_FMT_GB_CAM_DEBUG_DATA_1X8, - .gb_format = 0x42, - .bpp = 0, - }, - { - .mbus_code = V4L2_MBUS_FMT_SBGGR10_1X10, - .gb_format = 0x80, - .bpp = 10, - }, - { - .mbus_code = V4L2_MBUS_FMT_SGBRG10_1X10, - .gb_format = 0x81, - .bpp = 10, - }, - { - .mbus_code = V4L2_MBUS_FMT_SGRBG10_1X10, - .gb_format = 0x82, - .bpp = 10, - }, - { - .mbus_code = V4L2_MBUS_FMT_SRGGB10_1X10, - .gb_format = 0x83, - .bpp = 10, - }, - { - .mbus_code = V4L2_MBUS_FMT_SBGGR12_1X12, - .gb_format = 0x84, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_SGBRG12_1X12, - .gb_format = 0x85, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_SGRBG12_1X12, - .gb_format = 0x86, - .bpp = 12, - }, - { - .mbus_code = V4L2_MBUS_FMT_SRGGB12_1X12, - .gb_format = 0x87, - .bpp = 12, - }, -}; - -static const struct gb_camera_fmt_info *gb_camera_get_format_info(u16 gb_fmt) -{ - unsigned int i; - - for (i = 0; i < ARRAY_SIZE(gb_fmt_info); i++) { - if (gb_fmt_info[i].gb_format == gb_fmt) - return &gb_fmt_info[i]; - } - - return NULL; -} - -#define ES2_APB_CDSI0_CPORT 16 -#define ES2_APB_CDSI1_CPORT 17 - -#define GB_CAMERA_MAX_SETTINGS_SIZE 8192 - -static int gb_camera_operation_sync_flags(struct gb_connection *connection, - int type, unsigned int flags, - void *request, size_t request_size, - void *response, size_t *response_size) -{ - struct gb_operation *operation; - int ret; - - operation = gb_operation_create_flags(connection, type, request_size, - *response_size, flags, - GFP_KERNEL); - if (!operation) - return -ENOMEM; - - if (request_size) - memcpy(operation->request->payload, request, request_size); - - ret = gb_operation_request_send_sync(operation); - if (ret) { - dev_err(&connection->hd->dev, - "%s: synchronous operation of type 0x%02x failed: %d\n", - connection->name, type, ret); - } else { - *response_size = operation->response->payload_size; - - if (operation->response->payload_size) - memcpy(response, operation->response->payload, - operation->response->payload_size); - } - - gb_operation_put(operation); - - return ret; -} - -static int gb_camera_get_max_pkt_size(struct gb_camera *gcam, - struct gb_camera_configure_streams_response *resp) -{ - unsigned int max_pkt_size = 0; - unsigned int i; - - for (i = 0; i < resp->num_streams; i++) { - struct gb_camera_stream_config_response *cfg = &resp->config[i]; - const struct gb_camera_fmt_info *fmt_info; - unsigned int pkt_size; - - fmt_info = gb_camera_get_format_info(cfg->format); - if (!fmt_info) { - dev_err(&gcam->bundle->dev, "unsupported greybus image format: %d\n", - cfg->format); - return -EIO; - } - - if (fmt_info->bpp == 0) { - pkt_size = le32_to_cpu(cfg->max_pkt_size); - - if (pkt_size == 0) { - dev_err(&gcam->bundle->dev, - "Stream %u: invalid zero maximum packet size\n", - i); - return -EIO; - } - } else { - pkt_size = le16_to_cpu(cfg->width) * fmt_info->bpp / 8; - - if (pkt_size != le32_to_cpu(cfg->max_pkt_size)) { - dev_err(&gcam->bundle->dev, - "Stream %u: maximum packet size mismatch (%u/%u)\n", - i, pkt_size, cfg->max_pkt_size); - return -EIO; - } - } - - max_pkt_size = max(pkt_size, max_pkt_size); - } - - return max_pkt_size; -} - -/* - * Validate the stream configuration response verifying padding is correctly - * set and the returned number of streams is supported - */ -static const int gb_camera_configure_streams_validate_response(struct gb_camera *gcam, - struct gb_camera_configure_streams_response *resp, - unsigned int nstreams) -{ - unsigned int i; - - /* Validate the returned response structure */ - if (resp->padding[0] || resp->padding[1]) { - dev_err(&gcam->bundle->dev, "response padding != 0\n"); - return -EIO; - } - - if (resp->num_streams > nstreams) { - dev_err(&gcam->bundle->dev, "got #streams %u > request %u\n", - resp->num_streams, nstreams); - return -EIO; - } - - for (i = 0; i < resp->num_streams; i++) { - struct gb_camera_stream_config_response *cfg = &resp->config[i]; - - if (cfg->padding) { - dev_err(&gcam->bundle->dev, "stream #%u padding != 0\n", i); - return -EIO; - } - } - - return 0; -} - -/* ----------------------------------------------------------------------------- - * Hardware Configuration - */ - -static int gb_camera_set_intf_power_mode(struct gb_camera *gcam, u8 intf_id, - bool hs) -{ - struct gb_svc *svc = gcam->connection->hd->svc; - int ret; - - if (hs) - ret = gb_svc_intf_set_power_mode(svc, intf_id, - GB_SVC_UNIPRO_HS_SERIES_A, - GB_SVC_UNIPRO_FAST_MODE, 2, 2, - GB_SVC_SMALL_AMPLITUDE, - GB_SVC_NO_DE_EMPHASIS, - GB_SVC_UNIPRO_FAST_MODE, 2, 2, - GB_SVC_PWRM_RXTERMINATION | - GB_SVC_PWRM_TXTERMINATION, 0, - NULL, NULL); - else - ret = gb_svc_intf_set_power_mode(svc, intf_id, - GB_SVC_UNIPRO_HS_SERIES_A, - GB_SVC_UNIPRO_SLOW_AUTO_MODE, - 2, 1, - GB_SVC_SMALL_AMPLITUDE, - GB_SVC_NO_DE_EMPHASIS, - GB_SVC_UNIPRO_SLOW_AUTO_MODE, - 2, 1, - 0, 0, - NULL, NULL); - - return ret; -} - -static int gb_camera_set_power_mode(struct gb_camera *gcam, bool hs) -{ - struct gb_interface *intf = gcam->connection->intf; - struct gb_svc *svc = gcam->connection->hd->svc; - int ret; - - ret = gb_camera_set_intf_power_mode(gcam, intf->interface_id, hs); - if (ret < 0) { - dev_err(&gcam->bundle->dev, "failed to set module interface to %s (%d)\n", - hs ? "HS" : "PWM", ret); - return ret; - } - - ret = gb_camera_set_intf_power_mode(gcam, svc->ap_intf_id, hs); - if (ret < 0) { - gb_camera_set_intf_power_mode(gcam, intf->interface_id, !hs); - dev_err(&gcam->bundle->dev, "failed to set AP interface to %s (%d)\n", - hs ? "HS" : "PWM", ret); - return ret; - } - - return 0; -} - -struct ap_csi_config_request { - __u8 csi_id; - __u8 flags; -#define GB_CAMERA_CSI_FLAG_CLOCK_CONTINUOUS 0x01 - __u8 num_lanes; - __u8 padding; - __le32 csi_clk_freq; - __le32 max_pkt_size; -} __packed; - -/* - * TODO: Compute the number of lanes dynamically based on bandwidth - * requirements. - */ -#define GB_CAMERA_CSI_NUM_DATA_LANES 4 - -#define GB_CAMERA_CSI_CLK_FREQ_MAX 999000000U -#define GB_CAMERA_CSI_CLK_FREQ_MIN 100000000U -#define GB_CAMERA_CSI_CLK_FREQ_MARGIN 150000000U - -static int gb_camera_setup_data_connection(struct gb_camera *gcam, - struct gb_camera_configure_streams_response *resp, - struct gb_camera_csi_params *csi_params) -{ - struct ap_csi_config_request csi_cfg; - struct gb_connection *conn; - unsigned int clk_freq; - int ret; - - /* - * Create the data connection between the camera module data CPort and - * APB CDSI1. The CDSI1 CPort ID is hardcoded by the ES2 bridge. - */ - conn = gb_connection_create_offloaded(gcam->bundle, gcam->data_cport_id, - GB_CONNECTION_FLAG_NO_FLOWCTRL | - GB_CONNECTION_FLAG_CDSI1); - if (IS_ERR(conn)) - return PTR_ERR(conn); - - gcam->data_connection = conn; - gb_connection_set_data(conn, gcam); - - ret = gb_connection_enable(conn); - if (ret) - goto error_conn_destroy; - - /* Set the UniPro link to high speed mode. */ - ret = gb_camera_set_power_mode(gcam, true); - if (ret < 0) - goto error_conn_disable; - - /* - * Configure the APB-A CSI-2 transmitter. - * - * Hardcode the number of lanes to 4 and compute the bus clock frequency - * based on the module bandwidth requirements with a safety margin. - */ - memset(&csi_cfg, 0, sizeof(csi_cfg)); - csi_cfg.csi_id = 1; - csi_cfg.flags = 0; - csi_cfg.num_lanes = GB_CAMERA_CSI_NUM_DATA_LANES; - - clk_freq = resp->data_rate / 2 / GB_CAMERA_CSI_NUM_DATA_LANES; - clk_freq = clamp(clk_freq + GB_CAMERA_CSI_CLK_FREQ_MARGIN, - GB_CAMERA_CSI_CLK_FREQ_MIN, - GB_CAMERA_CSI_CLK_FREQ_MAX); - csi_cfg.csi_clk_freq = clk_freq; - - ret = gb_camera_get_max_pkt_size(gcam, resp); - if (ret < 0) { - ret = -EIO; - goto error_power; - } - csi_cfg.max_pkt_size = ret; - - ret = gb_hd_output(gcam->connection->hd, &csi_cfg, - sizeof(csi_cfg), - GB_APB_REQUEST_CSI_TX_CONTROL, false); - if (ret < 0) { - dev_err(&gcam->bundle->dev, "failed to start the CSI transmitter\n"); - goto error_power; - } - - if (csi_params) { - csi_params->clk_freq = csi_cfg.csi_clk_freq; - csi_params->num_lanes = csi_cfg.num_lanes; - } - - return 0; - -error_power: - gb_camera_set_power_mode(gcam, false); -error_conn_disable: - gb_connection_disable(gcam->data_connection); -error_conn_destroy: - gb_connection_destroy(gcam->data_connection); - gcam->data_connection = NULL; - return ret; -} - -static void gb_camera_teardown_data_connection(struct gb_camera *gcam) -{ - struct ap_csi_config_request csi_cfg; - int ret; - - /* Stop the APB1 CSI transmitter. */ - memset(&csi_cfg, 0, sizeof(csi_cfg)); - csi_cfg.csi_id = 1; - - ret = gb_hd_output(gcam->connection->hd, &csi_cfg, - sizeof(csi_cfg), - GB_APB_REQUEST_CSI_TX_CONTROL, false); - - if (ret < 0) - dev_err(&gcam->bundle->dev, "failed to stop the CSI transmitter\n"); - - /* Set the UniPro link to low speed mode. */ - gb_camera_set_power_mode(gcam, false); - - /* Destroy the data connection. */ - gb_connection_disable(gcam->data_connection); - gb_connection_destroy(gcam->data_connection); - gcam->data_connection = NULL; -} - -/* ----------------------------------------------------------------------------- - * Camera Protocol Operations - */ - -static int gb_camera_capabilities(struct gb_camera *gcam, - u8 *capabilities, size_t *size) -{ - int ret; - - ret = gb_pm_runtime_get_sync(gcam->bundle); - if (ret) - return ret; - - mutex_lock(&gcam->mutex); - - if (!gcam->connection) { - ret = -EINVAL; - goto done; - } - - ret = gb_camera_operation_sync_flags(gcam->connection, - GB_CAMERA_TYPE_CAPABILITIES, - GB_OPERATION_FLAG_SHORT_RESPONSE, - NULL, 0, - (void *)capabilities, size); - if (ret) - dev_err(&gcam->bundle->dev, "failed to retrieve capabilities: %d\n", ret); - -done: - mutex_unlock(&gcam->mutex); - - gb_pm_runtime_put_autosuspend(gcam->bundle); - - return ret; -} - -static int gb_camera_configure_streams(struct gb_camera *gcam, - unsigned int *num_streams, - unsigned int *flags, - struct gb_camera_stream_config *streams, - struct gb_camera_csi_params *csi_params) -{ - struct gb_camera_configure_streams_request *req; - struct gb_camera_configure_streams_response *resp; - unsigned int nstreams = *num_streams; - unsigned int i; - size_t req_size; - size_t resp_size; - int ret; - - if (nstreams > GB_CAMERA_MAX_STREAMS) - return -EINVAL; - - req_size = sizeof(*req) + nstreams * sizeof(req->config[0]); - resp_size = sizeof(*resp) + nstreams * sizeof(resp->config[0]); - - req = kmalloc(req_size, GFP_KERNEL); - resp = kmalloc(resp_size, GFP_KERNEL); - if (!req || !resp) { - kfree(req); - kfree(resp); - return -ENOMEM; - } - - req->num_streams = nstreams; - req->flags = *flags; - req->padding = 0; - - for (i = 0; i < nstreams; ++i) { - struct gb_camera_stream_config_request *cfg = &req->config[i]; - - cfg->width = cpu_to_le16(streams[i].width); - cfg->height = cpu_to_le16(streams[i].height); - cfg->format = cpu_to_le16(streams[i].format); - cfg->padding = 0; - } - - mutex_lock(&gcam->mutex); - - ret = gb_pm_runtime_get_sync(gcam->bundle); - if (ret) - goto done_skip_pm_put; - - if (!gcam->connection) { - ret = -EINVAL; - goto done; - } - - ret = gb_camera_operation_sync_flags(gcam->connection, - GB_CAMERA_TYPE_CONFIGURE_STREAMS, - GB_OPERATION_FLAG_SHORT_RESPONSE, - req, req_size, - resp, &resp_size); - if (ret < 0) - goto done; - - ret = gb_camera_configure_streams_validate_response(gcam, resp, - nstreams); - if (ret < 0) - goto done; - - *flags = resp->flags; - *num_streams = resp->num_streams; - - for (i = 0; i < resp->num_streams; ++i) { - struct gb_camera_stream_config_response *cfg = &resp->config[i]; - - streams[i].width = le16_to_cpu(cfg->width); - streams[i].height = le16_to_cpu(cfg->height); - streams[i].format = le16_to_cpu(cfg->format); - streams[i].vc = cfg->virtual_channel; - streams[i].dt[0] = cfg->data_type[0]; - streams[i].dt[1] = cfg->data_type[1]; - streams[i].max_size = le32_to_cpu(cfg->max_size); - } - - if ((resp->flags & GB_CAMERA_CONFIGURE_STREAMS_ADJUSTED) || - (req->flags & GB_CAMERA_CONFIGURE_STREAMS_TEST_ONLY)) - goto done; - - if (gcam->state == GB_CAMERA_STATE_CONFIGURED) { - gb_camera_teardown_data_connection(gcam); - gcam->state = GB_CAMERA_STATE_UNCONFIGURED; - - /* - * When unconfiguring streams release the PM runtime reference - * that was acquired when streams were configured. The bundle - * won't be suspended until the PM runtime reference acquired at - * the beginning of this function gets released right before - * returning. - */ - gb_pm_runtime_put_noidle(gcam->bundle); - } - - if (resp->num_streams == 0) - goto done; - - /* - * Make sure the bundle won't be suspended until streams get - * unconfigured after the stream is configured successfully - */ - gb_pm_runtime_get_noresume(gcam->bundle); - - /* Setup CSI-2 connection from APB-A to AP */ - ret = gb_camera_setup_data_connection(gcam, resp, csi_params); - if (ret < 0) { - memset(req, 0, sizeof(*req)); - gb_operation_sync(gcam->connection, - GB_CAMERA_TYPE_CONFIGURE_STREAMS, - req, sizeof(*req), - resp, sizeof(*resp)); - *flags = 0; - *num_streams = 0; - gb_pm_runtime_put_noidle(gcam->bundle); - goto done; - } - - gcam->state = GB_CAMERA_STATE_CONFIGURED; - -done: - gb_pm_runtime_put_autosuspend(gcam->bundle); - -done_skip_pm_put: - mutex_unlock(&gcam->mutex); - kfree(req); - kfree(resp); - return ret; -} - -static int gb_camera_capture(struct gb_camera *gcam, u32 request_id, - unsigned int streams, unsigned int num_frames, - size_t settings_size, const void *settings) -{ - struct gb_camera_capture_request *req; - size_t req_size; - int ret; - - if (settings_size > GB_CAMERA_MAX_SETTINGS_SIZE) - return -EINVAL; - - req_size = sizeof(*req) + settings_size; - req = kmalloc(req_size, GFP_KERNEL); - if (!req) - return -ENOMEM; - - req->request_id = cpu_to_le32(request_id); - req->streams = streams; - req->padding = 0; - req->num_frames = cpu_to_le16(num_frames); - memcpy(req->settings, settings, settings_size); - - mutex_lock(&gcam->mutex); - - if (!gcam->connection) { - ret = -EINVAL; - goto done; - } - - ret = gb_operation_sync(gcam->connection, GB_CAMERA_TYPE_CAPTURE, - req, req_size, NULL, 0); -done: - mutex_unlock(&gcam->mutex); - - kfree(req); - - return ret; -} - -static int gb_camera_flush(struct gb_camera *gcam, u32 *request_id) -{ - struct gb_camera_flush_response resp; - int ret; - - mutex_lock(&gcam->mutex); - - if (!gcam->connection) { - ret = -EINVAL; - goto done; - } - - ret = gb_operation_sync(gcam->connection, GB_CAMERA_TYPE_FLUSH, NULL, 0, - &resp, sizeof(resp)); - - if (ret < 0) - goto done; - - if (request_id) - *request_id = le32_to_cpu(resp.request_id); - -done: - mutex_unlock(&gcam->mutex); - - return ret; -} - -static int gb_camera_request_handler(struct gb_operation *op) -{ - struct gb_camera *gcam = gb_connection_get_data(op->connection); - struct gb_camera_metadata_request *payload; - struct gb_message *request; - - if (op->type != GB_CAMERA_TYPE_METADATA) { - dev_err(&gcam->bundle->dev, "Unsupported unsolicited event: %u\n", op->type); - return -EINVAL; - } - - request = op->request; - - if (request->payload_size < sizeof(*payload)) { - dev_err(&gcam->bundle->dev, "Wrong event size received (%zu < %zu)\n", - request->payload_size, sizeof(*payload)); - return -EINVAL; - } - - payload = request->payload; - - dev_dbg(&gcam->bundle->dev, "received metadata for request %u, frame %u, stream %u\n", - payload->request_id, payload->frame_number, payload->stream); - - return 0; -} - -/* ----------------------------------------------------------------------------- - * Interface with HOST gmp camera. - */ -static unsigned int gb_camera_mbus_to_gb(enum v4l2_mbus_pixelcode mbus_code) -{ - unsigned int i; - - for (i = 0; i < ARRAY_SIZE(gb_fmt_info); i++) { - if (gb_fmt_info[i].mbus_code == mbus_code) - return gb_fmt_info[i].gb_format; - } - return gb_fmt_info[0].gb_format; -} - -static enum v4l2_mbus_pixelcode gb_camera_gb_to_mbus(u16 gb_fmt) -{ - unsigned int i; - - for (i = 0; i < ARRAY_SIZE(gb_fmt_info); i++) { - if (gb_fmt_info[i].gb_format == gb_fmt) - return gb_fmt_info[i].mbus_code; - } - return gb_fmt_info[0].mbus_code; -} - -static ssize_t gb_camera_op_capabilities(void *priv, char *data, size_t len) -{ - struct gb_camera *gcam = priv; - size_t capabilities_len = len; - int ret; - - ret = gb_camera_capabilities(gcam, data, &capabilities_len); - if (ret) - return ret; - - return capabilities_len; -} - -static int gb_camera_op_configure_streams(void *priv, unsigned int *nstreams, - unsigned int *flags, struct gb_camera_stream *streams, - struct gb_camera_csi_params *csi_params) -{ - struct gb_camera *gcam = priv; - struct gb_camera_stream_config *gb_streams; - unsigned int gb_flags = 0; - unsigned int gb_nstreams = *nstreams; - unsigned int i; - int ret; - - if (gb_nstreams > GB_CAMERA_MAX_STREAMS) - return -EINVAL; - - gb_streams = kzalloc_objs(*gb_streams, gb_nstreams); - if (!gb_streams) - return -ENOMEM; - - for (i = 0; i < gb_nstreams; i++) { - gb_streams[i].width = streams[i].width; - gb_streams[i].height = streams[i].height; - gb_streams[i].format = - gb_camera_mbus_to_gb(streams[i].pixel_code); - } - - if (*flags & GB_CAMERA_IN_FLAG_TEST) - gb_flags |= GB_CAMERA_CONFIGURE_STREAMS_TEST_ONLY; - - ret = gb_camera_configure_streams(gcam, &gb_nstreams, - &gb_flags, gb_streams, csi_params); - if (ret < 0) - goto done; - if (gb_nstreams > *nstreams) { - ret = -EINVAL; - goto done; - } - - *flags = 0; - if (gb_flags & GB_CAMERA_CONFIGURE_STREAMS_ADJUSTED) - *flags |= GB_CAMERA_OUT_FLAG_ADJUSTED; - - for (i = 0; i < gb_nstreams; i++) { - streams[i].width = gb_streams[i].width; - streams[i].height = gb_streams[i].height; - streams[i].vc = gb_streams[i].vc; - streams[i].dt[0] = gb_streams[i].dt[0]; - streams[i].dt[1] = gb_streams[i].dt[1]; - streams[i].max_size = gb_streams[i].max_size; - streams[i].pixel_code = - gb_camera_gb_to_mbus(gb_streams[i].format); - } - *nstreams = gb_nstreams; - -done: - kfree(gb_streams); - return ret; -} - -static int gb_camera_op_capture(void *priv, u32 request_id, - unsigned int streams, unsigned int num_frames, - size_t settings_size, const void *settings) -{ - struct gb_camera *gcam = priv; - - return gb_camera_capture(gcam, request_id, streams, num_frames, - settings_size, settings); -} - -static int gb_camera_op_flush(void *priv, u32 *request_id) -{ - struct gb_camera *gcam = priv; - - return gb_camera_flush(gcam, request_id); -} - -static const struct gb_camera_ops gb_cam_ops = { - .capabilities = gb_camera_op_capabilities, - .configure_streams = gb_camera_op_configure_streams, - .capture = gb_camera_op_capture, - .flush = gb_camera_op_flush, -}; - -/* ----------------------------------------------------------------------------- - * DebugFS - */ - -static ssize_t gb_camera_debugfs_capabilities(struct gb_camera *gcam, - char *buf, size_t len) -{ - struct gb_camera_debugfs_buffer *buffer = - &gcam->debugfs.buffers[GB_CAMERA_DEBUGFS_BUFFER_CAPABILITIES]; - size_t size = 1024; - unsigned int i; - u8 *caps; - int ret; - - caps = kmalloc(size, GFP_KERNEL); - if (!caps) - return -ENOMEM; - - ret = gb_camera_capabilities(gcam, caps, &size); - if (ret < 0) - goto done; - - /* - * hex_dump_to_buffer() doesn't return the number of bytes dumped prior - * to v4.0, we need our own implementation :-( - */ - buffer->length = 0; - - for (i = 0; i < size; i += 16) { - unsigned int nbytes = min_t(unsigned int, size - i, 16); - - buffer->length += sprintf(buffer->data + buffer->length, - "%*ph\n", nbytes, caps + i); - } - -done: - kfree(caps); - return ret; -} - -static ssize_t gb_camera_debugfs_configure_streams(struct gb_camera *gcam, - char *buf, size_t len) -{ - struct gb_camera_debugfs_buffer *buffer = - &gcam->debugfs.buffers[GB_CAMERA_DEBUGFS_BUFFER_STREAMS]; - struct gb_camera_stream_config *streams; - unsigned int nstreams; - unsigned int flags; - unsigned int i; - char *token; - int ret; - - /* Retrieve number of streams to configure */ - token = strsep(&buf, ";"); - if (!token) - return -EINVAL; - - ret = kstrtouint(token, 10, &nstreams); - if (ret < 0) - return ret; - - if (nstreams > GB_CAMERA_MAX_STREAMS) - return -EINVAL; - - token = strsep(&buf, ";"); - if (!token) - return -EINVAL; - - ret = kstrtouint(token, 10, &flags); - if (ret < 0) - return ret; - - /* For each stream to configure parse width, height and format */ - streams = kzalloc_objs(*streams, nstreams); - if (!streams) - return -ENOMEM; - - for (i = 0; i < nstreams; ++i) { - struct gb_camera_stream_config *stream = &streams[i]; - - /* width */ - token = strsep(&buf, ";"); - if (!token) { - ret = -EINVAL; - goto done; - } - ret = kstrtouint(token, 10, &stream->width); - if (ret < 0) - goto done; - - /* height */ - token = strsep(&buf, ";"); - if (!token) - goto done; - - ret = kstrtouint(token, 10, &stream->height); - if (ret < 0) - goto done; - - /* Image format code */ - token = strsep(&buf, ";"); - if (!token) - goto done; - - ret = kstrtouint(token, 16, &stream->format); - if (ret < 0) - goto done; - } - - ret = gb_camera_configure_streams(gcam, &nstreams, &flags, streams, - NULL); - if (ret < 0) - goto done; - - buffer->length = sprintf(buffer->data, "%u;%u;", nstreams, flags); - - for (i = 0; i < nstreams; ++i) { - struct gb_camera_stream_config *stream = &streams[i]; - - buffer->length += sprintf(buffer->data + buffer->length, - "%u;%u;%u;%u;%u;%u;%u;", - stream->width, stream->height, - stream->format, stream->vc, - stream->dt[0], stream->dt[1], - stream->max_size); - } - - ret = len; - -done: - kfree(streams); - return ret; -}; - -static ssize_t gb_camera_debugfs_capture(struct gb_camera *gcam, - char *buf, size_t len) -{ - unsigned int request_id; - unsigned int streams_mask; - unsigned int num_frames; - char *token; - int ret; - - /* Request id */ - token = strsep(&buf, ";"); - if (!token) - return -EINVAL; - ret = kstrtouint(token, 10, &request_id); - if (ret < 0) - return ret; - - /* Stream mask */ - token = strsep(&buf, ";"); - if (!token) - return -EINVAL; - ret = kstrtouint(token, 16, &streams_mask); - if (ret < 0) - return ret; - - /* number of frames */ - token = strsep(&buf, ";"); - if (!token) - return -EINVAL; - ret = kstrtouint(token, 10, &num_frames); - if (ret < 0) - return ret; - - ret = gb_camera_capture(gcam, request_id, streams_mask, num_frames, 0, - NULL); - if (ret < 0) - return ret; - - return len; -} - -static ssize_t gb_camera_debugfs_flush(struct gb_camera *gcam, - char *buf, size_t len) -{ - struct gb_camera_debugfs_buffer *buffer = - &gcam->debugfs.buffers[GB_CAMERA_DEBUGFS_BUFFER_FLUSH]; - unsigned int req_id; - int ret; - - ret = gb_camera_flush(gcam, &req_id); - if (ret < 0) - return ret; - - buffer->length = sprintf(buffer->data, "%u", req_id); - - return len; -} - -struct gb_camera_debugfs_entry { - const char *name; - unsigned int mask; - unsigned int buffer; - ssize_t (*execute)(struct gb_camera *gcam, char *buf, size_t len); -}; - -static const struct gb_camera_debugfs_entry gb_camera_debugfs_entries[] = { - { - .name = "capabilities", - .mask = S_IFREG | 0444, - .buffer = GB_CAMERA_DEBUGFS_BUFFER_CAPABILITIES, - .execute = gb_camera_debugfs_capabilities, - }, { - .name = "configure_streams", - .mask = S_IFREG | 0666, - .buffer = GB_CAMERA_DEBUGFS_BUFFER_STREAMS, - .execute = gb_camera_debugfs_configure_streams, - }, { - .name = "capture", - .mask = S_IFREG | 0666, - .buffer = GB_CAMERA_DEBUGFS_BUFFER_CAPTURE, - .execute = gb_camera_debugfs_capture, - }, { - .name = "flush", - .mask = S_IFREG | 0666, - .buffer = GB_CAMERA_DEBUGFS_BUFFER_FLUSH, - .execute = gb_camera_debugfs_flush, - }, -}; - -static ssize_t gb_camera_debugfs_read(struct file *file, char __user *buf, - size_t len, loff_t *offset) -{ - const struct gb_camera_debugfs_entry *op = file->private_data; - struct gb_camera *gcam = file_inode(file)->i_private; - struct gb_camera_debugfs_buffer *buffer; - ssize_t ret; - - /* For read-only entries the operation is triggered by a read. */ - if (!(op->mask & 0222)) { - ret = op->execute(gcam, NULL, 0); - if (ret < 0) - return ret; - } - - buffer = &gcam->debugfs.buffers[op->buffer]; - - return simple_read_from_buffer(buf, len, offset, buffer->data, - buffer->length); -} - -static ssize_t gb_camera_debugfs_write(struct file *file, - const char __user *buf, size_t len, - loff_t *offset) -{ - const struct gb_camera_debugfs_entry *op = file->private_data; - struct gb_camera *gcam = file_inode(file)->i_private; - ssize_t ret; - char *kbuf; - - if (len > 1024) - return -EINVAL; - - kbuf = memdup_user_nul(buf, len); - if (IS_ERR(kbuf)) - return PTR_ERR(kbuf); - - ret = op->execute(gcam, kbuf, len); - -done: - kfree(kbuf); - return ret; -} - -static int gb_camera_debugfs_open(struct inode *inode, struct file *file) -{ - file->private_data = debugfs_get_aux(file); - return 0; -} - -static const struct file_operations gb_camera_debugfs_ops = { - .open = gb_camera_debugfs_open, - .read = gb_camera_debugfs_read, - .write = gb_camera_debugfs_write, -}; - -static int gb_camera_debugfs_init(struct gb_camera *gcam) -{ - struct gb_connection *connection = gcam->connection; - char dirname[27]; - unsigned int i; - - /* - * Create root debugfs entry and a file entry for each camera operation. - */ - snprintf(dirname, 27, "camera-%u.%u", connection->intf->interface_id, - gcam->bundle->id); - - gcam->debugfs.root = debugfs_create_dir(dirname, gb_debugfs_get()); - - gcam->debugfs.buffers = - vmalloc(array_size(GB_CAMERA_DEBUGFS_BUFFER_MAX, - sizeof(*gcam->debugfs.buffers))); - if (!gcam->debugfs.buffers) - return -ENOMEM; - - for (i = 0; i < ARRAY_SIZE(gb_camera_debugfs_entries); ++i) { - const struct gb_camera_debugfs_entry *entry = - &gb_camera_debugfs_entries[i]; - - gcam->debugfs.buffers[i].length = 0; - - debugfs_create_file_aux(entry->name, entry->mask, - gcam->debugfs.root, gcam, entry, - &gb_camera_debugfs_ops); - } - - return 0; -} - -static void gb_camera_debugfs_cleanup(struct gb_camera *gcam) -{ - debugfs_remove_recursive(gcam->debugfs.root); - - vfree(gcam->debugfs.buffers); -} - -/* ----------------------------------------------------------------------------- - * Init & Cleanup - */ - -static void gb_camera_cleanup(struct gb_camera *gcam) -{ - gb_camera_debugfs_cleanup(gcam); - - mutex_lock(&gcam->mutex); - if (gcam->data_connection) { - gb_connection_disable(gcam->data_connection); - gb_connection_destroy(gcam->data_connection); - gcam->data_connection = NULL; - } - - if (gcam->connection) { - gb_connection_disable(gcam->connection); - gb_connection_destroy(gcam->connection); - gcam->connection = NULL; - } - mutex_unlock(&gcam->mutex); -} - -static void gb_camera_release_module(struct kref *ref) -{ - struct gb_camera_module *cam_mod = - container_of(ref, struct gb_camera_module, refcount); - kfree(cam_mod->priv); -} - -static int gb_camera_probe(struct gb_bundle *bundle, - const struct greybus_bundle_id *id) -{ - struct gb_connection *conn; - struct gb_camera *gcam; - u16 mgmt_cport_id = 0; - u16 data_cport_id = 0; - unsigned int i; - int ret; - - /* - * The camera bundle must contain exactly two CPorts, one for the - * camera management protocol and one for the camera data protocol. - */ - if (bundle->num_cports != 2) - return -ENODEV; - - for (i = 0; i < bundle->num_cports; ++i) { - struct greybus_descriptor_cport *desc = &bundle->cport_desc[i]; - - switch (desc->protocol_id) { - case GREYBUS_PROTOCOL_CAMERA_MGMT: - mgmt_cport_id = le16_to_cpu(desc->id); - break; - case GREYBUS_PROTOCOL_CAMERA_DATA: - data_cport_id = le16_to_cpu(desc->id); - break; - default: - return -ENODEV; - } - } - - if (!mgmt_cport_id || !data_cport_id) - return -ENODEV; - - gcam = kzalloc_obj(*gcam); - if (!gcam) - return -ENOMEM; - - mutex_init(&gcam->mutex); - - gcam->bundle = bundle; - gcam->state = GB_CAMERA_STATE_UNCONFIGURED; - gcam->data_cport_id = data_cport_id; - - conn = gb_connection_create(bundle, mgmt_cport_id, - gb_camera_request_handler); - if (IS_ERR(conn)) { - ret = PTR_ERR(conn); - goto error; - } - - gcam->connection = conn; - gb_connection_set_data(conn, gcam); - - ret = gb_connection_enable(conn); - if (ret) - goto error; - - ret = gb_camera_debugfs_init(gcam); - if (ret < 0) - goto error; - - gcam->module.priv = gcam; - gcam->module.ops = &gb_cam_ops; - gcam->module.interface_id = gcam->connection->intf->interface_id; - gcam->module.release = gb_camera_release_module; - ret = gb_camera_register(&gcam->module); - if (ret < 0) - goto error; - - greybus_set_drvdata(bundle, gcam); - - gb_pm_runtime_put_autosuspend(gcam->bundle); - - return 0; - -error: - gb_camera_cleanup(gcam); - kfree(gcam); - return ret; -} - -static void gb_camera_disconnect(struct gb_bundle *bundle) -{ - struct gb_camera *gcam = greybus_get_drvdata(bundle); - int ret; - - ret = gb_pm_runtime_get_sync(bundle); - if (ret) - gb_pm_runtime_get_noresume(bundle); - - gb_camera_cleanup(gcam); - gb_camera_unregister(&gcam->module); -} - -static const struct greybus_bundle_id gb_camera_id_table[] = { - { GREYBUS_DEVICE_CLASS(GREYBUS_CLASS_CAMERA) }, - { }, -}; - -#ifdef CONFIG_PM -static int gb_camera_suspend(struct device *dev) -{ - struct gb_bundle *bundle = to_gb_bundle(dev); - struct gb_camera *gcam = greybus_get_drvdata(bundle); - - if (gcam->data_connection) - gb_connection_disable(gcam->data_connection); - - gb_connection_disable(gcam->connection); - - return 0; -} - -static int gb_camera_resume(struct device *dev) -{ - struct gb_bundle *bundle = to_gb_bundle(dev); - struct gb_camera *gcam = greybus_get_drvdata(bundle); - int ret; - - ret = gb_connection_enable(gcam->connection); - if (ret) { - dev_err(&gcam->bundle->dev, "failed to enable connection: %d\n", ret); - return ret; - } - - if (gcam->data_connection) { - ret = gb_connection_enable(gcam->data_connection); - if (ret) { - dev_err(&gcam->bundle->dev, - "failed to enable data connection: %d\n", ret); - return ret; - } - } - - return 0; -} -#endif - -static const struct dev_pm_ops gb_camera_pm_ops = { - SET_RUNTIME_PM_OPS(gb_camera_suspend, gb_camera_resume, NULL) -}; - -static struct greybus_driver gb_camera_driver = { - .name = "camera", - .probe = gb_camera_probe, - .disconnect = gb_camera_disconnect, - .id_table = gb_camera_id_table, - .driver.pm = &gb_camera_pm_ops, -}; - -module_greybus_driver(gb_camera_driver); - -MODULE_DESCRIPTION("Greybus Camera protocol driver."); -MODULE_LICENSE("GPL v2"); diff --git a/drivers/staging/greybus/gb-camera.h b/drivers/staging/greybus/gb-camera.h deleted file mode 100644 index d5a33a13f2a4..000000000000 --- a/drivers/staging/greybus/gb-camera.h +++ /dev/null @@ -1,127 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 */ -/* - * Greybus Camera protocol driver. - * - * Copyright 2015 Google Inc. - */ -#ifndef __GB_CAMERA_H -#define __GB_CAMERA_H - -#include <linux/v4l2-mediabus.h> - -/* Input flags need to be set from the caller */ -#define GB_CAMERA_IN_FLAG_TEST BIT(0) -/* Output flags returned */ -#define GB_CAMERA_OUT_FLAG_ADJUSTED BIT(0) - -/** - * struct gb_camera_stream - Represents greybus camera stream. - * @width: Stream width in pixels. - * @height: Stream height in pixels. - * @pixel_code: Media bus pixel code. - * @vc: MIPI CSI virtual channel. - * @dt: MIPI CSI data types. Most formats use a single data type, in which case - * the second element will be ignored. - * @max_size: Maximum size of a frame in bytes. The camera module guarantees - * that all data between the Frame Start and Frame End packet for - * the associated virtual channel and data type(s) will not exceed - * this size. - */ -struct gb_camera_stream { - unsigned int width; - unsigned int height; - enum v4l2_mbus_pixelcode pixel_code; - unsigned int vc; - unsigned int dt[2]; - unsigned int max_size; -}; - -/** - * struct gb_camera_csi_params - CSI configuration parameters - * @num_lanes: number of CSI data lanes - * @clk_freq: CSI clock frequency in Hz - */ -struct gb_camera_csi_params { - unsigned int num_lanes; - unsigned int clk_freq; -}; - -/** - * struct gb_camera_ops - Greybus camera operations, used by the Greybus camera - * driver to expose operations to the host camera driver. - * @capabilities: Retrieve camera capabilities and store them in the buffer - * 'buf' capabilities. The buffer maximum size is specified by - * the caller in the 'size' parameter, and the effective - * capabilities size is returned from the function. If the buffer - * size is too small to hold the capabilities an error is - * returned and the buffer is left untouched. - * - * @configure_streams: Negotiate configuration and prepare the module for video - * capture. The caller specifies the number of streams it - * requests in the 'nstreams' argument and the associated - * streams configurations in the 'streams' argument. The - * GB_CAMERA_IN_FLAG_TEST 'flag' can be set to test a - * configuration without applying it, otherwise the - * configuration is applied by the module. The module can - * decide to modify the requested configuration, including - * using a different number of streams. In that case the - * modified configuration won't be applied, the - * GB_CAMERA_OUT_FLAG_ADJUSTED 'flag' will be set upon - * return, and the modified configuration and number of - * streams stored in 'streams' and 'array'. The module - * returns its CSI-2 bus parameters in the 'csi_params' - * structure in all cases. - * - * @capture: Submit a capture request. The supplied 'request_id' must be unique - * and higher than the IDs of all the previously submitted requests. - * The 'streams' argument specifies which streams are affected by the - * request in the form of a bitmask, with bits corresponding to the - * configured streams indexes. If the request contains settings, the - * 'settings' argument points to the settings buffer and its size is - * specified by the 'settings_size' argument. Otherwise the 'settings' - * argument should be set to NULL and 'settings_size' to 0. - * - * @flush: Flush the capture requests queue. Return the ID of the last request - * that will processed by the device before it stops transmitting video - * frames. All queued capture requests with IDs higher than the returned - * ID will be dropped without being processed. - */ -struct gb_camera_ops { - ssize_t (*capabilities)(void *priv, char *buf, size_t len); - int (*configure_streams)(void *priv, unsigned int *nstreams, - unsigned int *flags, - struct gb_camera_stream *streams, - struct gb_camera_csi_params *csi_params); - int (*capture)(void *priv, u32 request_id, - unsigned int streams, unsigned int num_frames, - size_t settings_size, const void *settings); - int (*flush)(void *priv, u32 *request_id); -}; - -/** - * struct gb_camera_module - Represents greybus camera module. - * @priv: Module private data, passed to all camera operations. - * @ops: Greybus camera operation callbacks. - * @interface_id: Interface id of the module. - * @refcount: Reference counting object. - * @release: Module release function. - * @list: List entry in the camera modules list. - */ -struct gb_camera_module { - void *priv; - const struct gb_camera_ops *ops; - - unsigned int interface_id; - struct kref refcount; - void (*release)(struct kref *kref); - struct list_head list; /* Global list */ -}; - -#define gb_camera_call(f, op, args...) \ - (!(f) ? -ENODEV : (((f)->ops->op) ? \ - (f)->ops->op((f)->priv, ##args) : -ENOIOCTLCMD)) - -int gb_camera_register(struct gb_camera_module *module); -int gb_camera_unregister(struct gb_camera_module *module); - -#endif /* __GB_CAMERA_H */ diff --git a/drivers/staging/greybus/gbphy.c b/drivers/staging/greybus/gbphy.c index bdb0f5164a6f..bb9a5b538e6e 100644 --- a/drivers/staging/greybus/gbphy.c +++ b/drivers/staging/greybus/gbphy.c @@ -31,7 +31,7 @@ static ssize_t protocol_id_show(struct device *dev, { struct gbphy_device *gbphy_dev = to_gbphy_dev(dev); - return sprintf(buf, "0x%02x\n", gbphy_dev->cport_desc->protocol_id); + return sysfs_emit(buf, "0x%02x\n", gbphy_dev->cport_desc->protocol_id); } static DEVICE_ATTR_RO(protocol_id); diff --git a/drivers/staging/greybus/loopback.c b/drivers/staging/greybus/loopback.c index 2a623fc2e99b..fe48a687377a 100644 --- a/drivers/staging/greybus/loopback.c +++ b/drivers/staging/greybus/loopback.c @@ -562,8 +562,7 @@ static int gb_loopback_async_sink(struct gb_loopback *gb, u32 len) return retval; } -static int gb_loopback_async_transfer_complete( - struct gb_loopback_async_operation *op_async) +static int gb_loopback_async_transfer_complete(struct gb_loopback_async_operation *op_async) { struct gb_loopback *gb; struct gb_operation *operation; @@ -653,7 +652,7 @@ static int gb_loopback_request_handler(struct gb_operation *operation) } if (!gb_operation_response_alloc(operation, - len + sizeof(*response), GFP_KERNEL)) { + len + sizeof(*response), GFP_KERNEL)) { dev_err(dev, "error allocating response\n"); return -ENOMEM; } diff --git a/drivers/staging/greybus/uart.c b/drivers/staging/greybus/uart.c index 172cf900eaf0..2c47418a11ef 100644 --- a/drivers/staging/greybus/uart.c +++ b/drivers/staging/greybus/uart.c @@ -53,7 +53,6 @@ struct gb_tty { spinlock_t read_lock; spinlock_t write_lock; struct async_icount iocount; - struct async_icount oldcount; wait_queue_head_t wioctl; struct mutex mutex; u8 ctrlin; /* input control lines */ @@ -643,11 +642,16 @@ static int wait_serial_change(struct gb_tty *gb_tty, unsigned long arg) if (!(arg & (TIOCM_DSR | TIOCM_RI | TIOCM_CD))) return -EINVAL; - do { + spin_lock_irq(&gb_tty->read_lock); + old = gb_tty->iocount; + spin_unlock_irq(&gb_tty->read_lock); + + add_wait_queue(&gb_tty->wioctl, &wait); + for (;;) { + set_current_state(TASK_INTERRUPTIBLE); + spin_lock_irq(&gb_tty->read_lock); - old = gb_tty->oldcount; new = gb_tty->iocount; - gb_tty->oldcount = new; spin_unlock_irq(&gb_tty->read_lock); if ((arg & TIOCM_DSR) && (old.dsr != new.dsr)) @@ -657,18 +661,20 @@ static int wait_serial_change(struct gb_tty *gb_tty, unsigned long arg) if ((arg & TIOCM_RI) && (old.rng != new.rng)) break; - add_wait_queue(&gb_tty->wioctl, &wait); - set_current_state(TASK_INTERRUPTIBLE); - schedule(); - remove_wait_queue(&gb_tty->wioctl, &wait); if (gb_tty->disconnected) { - if (arg & TIOCM_CD) - break; retval = -ENODEV; - } else if (signal_pending(current)) { + break; + } + + schedule(); + + if (signal_pending(current)) { retval = -ERESTARTSYS; + break; } - } while (!retval); + } + __set_current_state(TASK_RUNNING); + remove_wait_queue(&gb_tty->wioctl, &wait); return retval; } diff --git a/drivers/staging/most/video/video.c b/drivers/staging/most/video/video.c index 88892b5db28b..3a0445ff62f4 100644 --- a/drivers/staging/most/video/video.c +++ b/drivers/staging/most/video/video.c @@ -439,7 +439,6 @@ static int comp_register_videodev(struct most_video_dev *mdev) mdev->vdev->release = video_device_release; return 0; - } static void comp_unregister_videodev(struct most_video_dev *mdev) diff --git a/drivers/staging/octeon/ethernet-tx.c b/drivers/staging/octeon/ethernet-tx.c index cc20c1e6791f..5e536827f87a 100644 --- a/drivers/staging/octeon/ethernet-tx.c +++ b/drivers/staging/octeon/ethernet-tx.c @@ -481,7 +481,7 @@ skip_xmit: cvmx_fau_fetch_and_add32(FAU_TOTAL_TX_TO_CLEAN, 1); } - if (total_to_clean & 0x3ff) { + if ((total_to_clean & 0x3ff) == 0) { /* * Schedule the cleanup tasklet every 1024 packets for * the pathological case of high traffic on one port diff --git a/drivers/staging/rtl8723bs/core/rtw_ap.c b/drivers/staging/rtl8723bs/core/rtw_ap.c index 4728f62a1557..f98360b59737 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ap.c +++ b/drivers/staging/rtl8723bs/core/rtw_ap.c @@ -598,9 +598,7 @@ static void update_hw_ht_param(struct adapter *padapter) rtw_hal_set_hwreg(padapter, HW_VAR_AMPDU_FACTOR, (u8 *)(&max_AMPDU_len)); - /* */ /* Config SM Power Save setting */ - /* */ pmlmeinfo->SM_PS = (le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) & 0x0C) >> 2; @@ -1068,7 +1066,7 @@ int rtw_acl_add_sta(struct adapter *padapter, u8 *addr) struct __queue *pacl_node_q = &pacl_list->acl_node_q; if ((NUM_ACL - 1) < pacl_list->num) - return (-1); + return -1; spin_lock_bh(&pacl_node_q->lock); @@ -1165,7 +1163,7 @@ u8 rtw_ap_set_pairwise_key(struct adapter *padapter, struct sta_info *psta) init_h2fwcmd_w_parm_no_rsp(ph2c, psetstakey_para, SET_STA_KEY_CMD); - psetstakey_para->algorithm = (u8)psta->dot118021XPrivacy; + psetstakey_para->algorithm = (u8)psta->dot118021_x_privacy; memcpy(psetstakey_para->addr, psta->hwaddr, ETH_ALEN); diff --git a/drivers/staging/rtl8723bs/core/rtw_cmd.c b/drivers/staging/rtl8723bs/core/rtw_cmd.c index ce3dfa1fee26..1b95ef6996c6 100644 --- a/drivers/staging/rtl8723bs/core/rtw_cmd.c +++ b/drivers/staging/rtl8723bs/core/rtw_cmd.c @@ -252,12 +252,10 @@ static int _rtw_enqueue_cmd(struct __queue *queue, struct cmd_obj *obj) if (!obj) return 0; - /* spin_lock_bh(&queue->lock); */ spin_lock_irqsave(&queue->lock, irqL); list_add_tail(&obj->list, &queue->queue); - /* spin_unlock_bh(&queue->lock); */ spin_unlock_irqrestore(&queue->lock, irqL); return 0; @@ -268,7 +266,6 @@ struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue) unsigned long irqL; struct cmd_obj *obj; - /* spin_lock_bh(&(queue->lock)); */ spin_lock_irqsave(&queue->lock, irqL); if (list_empty(&queue->queue)) { obj = NULL; @@ -277,7 +274,6 @@ struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue) list_del_init(&obj->list); } - /* spin_unlock_bh(&(queue->lock)); */ spin_unlock_irqrestore(&queue->lock, irqL); return obj; @@ -546,7 +542,6 @@ u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, init_h2fwcmd_w_parm_no_rsp(ph2c, survey_para, SITE_SURVEY_CMD); - /* psurveyPara->bsslimit = 48; */ survey_para->scan_mode = pmlmepriv->scan_mode; /* prepare ssid list */ @@ -588,7 +583,6 @@ u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd) { - /* rtw_free_cmd_obj(pcmd); */ kfree(pcmd->parmbuf); kfree(pcmd); } @@ -1000,7 +994,6 @@ u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr) init_h2fwcmd_w_parm_no_rsp(ph2c, paddbareq_parm, ADD_BA_REQ_CMD); - /* rtw_enqueue_cmd(pcmdpriv, ph2c); */ res = rtw_enqueue_cmd(pcmdpriv, ph2c); exit: @@ -1034,7 +1027,6 @@ u8 rtw_reset_securitypriv_cmd(struct adapter *padapter) init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, SET_DRV_EXTRA_CMD); - /* rtw_enqueue_cmd(pcmdpriv, ph2c); */ res = rtw_enqueue_cmd(pcmdpriv, ph2c); exit: return res; @@ -1067,7 +1059,6 @@ u8 rtw_free_assoc_resources_cmd(struct adapter *padapter) init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, SET_DRV_EXTRA_CMD); - /* rtw_enqueue_cmd(pcmdpriv, ph2c); */ res = rtw_enqueue_cmd(pcmdpriv, ph2c); exit: return res; @@ -1100,7 +1091,6 @@ u8 rtw_dynamic_chk_wk_cmd(struct adapter *padapter) pdrvextra_cmd_parm->pbuf = NULL; init_h2fwcmd_w_parm_no_rsp(ph2c, pdrvextra_cmd_parm, SET_DRV_EXTRA_CMD); - /* rtw_enqueue_cmd(pcmdpriv, ph2c); */ res = rtw_enqueue_cmd(pcmdpriv, ph2c); exit: return res; @@ -1109,25 +1099,26 @@ exit: static void collect_traffic_statistics(struct adapter *padapter) { struct dvobj_priv *pdvobjpriv = adapter_to_dvobj(padapter); + struct rtw_traffic_statistics *ts = &pdvobjpriv->traffic_stat; /* Tx */ - pdvobjpriv->traffic_stat.tx_bytes = padapter->xmitpriv.tx_bytes; - pdvobjpriv->traffic_stat.tx_pkts = padapter->xmitpriv.tx_pkts; - pdvobjpriv->traffic_stat.tx_drop = padapter->xmitpriv.tx_drop; + ts->tx_bytes = padapter->xmitpriv.tx_bytes; + ts->tx_pkts = padapter->xmitpriv.tx_pkts; + ts->tx_drop = padapter->xmitpriv.tx_drop; /* Rx */ - pdvobjpriv->traffic_stat.rx_bytes = padapter->recvpriv.rx_bytes; - pdvobjpriv->traffic_stat.rx_pkts = padapter->recvpriv.rx_pkts; - pdvobjpriv->traffic_stat.rx_drop = padapter->recvpriv.rx_drop; + ts->rx_bytes = padapter->recvpriv.rx_bytes; + ts->rx_pkts = padapter->recvpriv.rx_pkts; + ts->rx_drop = padapter->recvpriv.rx_drop; /* Calculate throughput in last interval */ - pdvobjpriv->traffic_stat.cur_tx_bytes = pdvobjpriv->traffic_stat.tx_bytes - pdvobjpriv->traffic_stat.last_tx_bytes; - pdvobjpriv->traffic_stat.cur_rx_bytes = pdvobjpriv->traffic_stat.rx_bytes - pdvobjpriv->traffic_stat.last_rx_bytes; - pdvobjpriv->traffic_stat.last_tx_bytes = pdvobjpriv->traffic_stat.tx_bytes; - pdvobjpriv->traffic_stat.last_rx_bytes = pdvobjpriv->traffic_stat.rx_bytes; + ts->cur_tx_bytes = ts->tx_bytes - ts->last_tx_bytes; + ts->cur_rx_bytes = ts->rx_bytes - ts->last_rx_bytes; + ts->last_tx_bytes = ts->tx_bytes; + ts->last_rx_bytes = ts->rx_bytes; - pdvobjpriv->traffic_stat.cur_tx_tp = (u32)(pdvobjpriv->traffic_stat.cur_tx_bytes * 8 / 2 / 1024 / 1024); - pdvobjpriv->traffic_stat.cur_rx_tp = (u32)(pdvobjpriv->traffic_stat.cur_rx_bytes * 8 / 2 / 1024 / 1024); + ts->cur_tx_tp = (u32)(ts->cur_tx_bytes * 8 / 2 / 1024 / 1024); + ts->cur_rx_tp = (u32)(ts->cur_rx_bytes * 8 / 2 / 1024 / 1024); } bool traffic_status_watchdog(struct adapter *padapter, bool from_timer) @@ -1146,9 +1137,7 @@ bool traffic_status_watchdog(struct adapter *padapter, bool from_timer) collect_traffic_statistics(padapter); - /* */ /* Determine if our traffic is busy now */ - /* */ if ((check_fwstate(pmlmepriv, _FW_LINKED)) /*&& !MgntInitAdapterInProgress(pMgntInfo)*/) { /* if we raise busy_traffic in last watchdog, using lower threshold. */ @@ -1248,18 +1237,13 @@ static void dynamic_chk_wk_hdl(struct adapter *padapter) /* for debug purpose */ _linked_info_dump(padapter); - /* if (check_fwstate(pmlmepriv, _FW_UNDER_LINKING|_FW_UNDER_SURVEY) ==false) */ { linked_status_chk(padapter); traffic_status_watchdog(padapter, false); } rtw_hal_dm_watchdog(padapter); - /* check_hw_pbc(padapter, pdrvextra_cmd->pbuf, pdrvextra_cmd->type); */ - - /* */ /* BT-Coexist */ - /* */ hal_btcoex_Handler(padapter); /* always call rtw_ps_processor() at last one. */ @@ -1324,7 +1308,6 @@ u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue) struct cmd_obj *ph2c; struct drvextra_cmd_parm *pdrvextra_cmd_parm; struct cmd_priv *pcmdpriv = &padapter->cmdpriv; - /* struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(padapter); */ u8 res = _SUCCESS; if (enqueue) { @@ -1876,9 +1859,6 @@ void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd) pnetwork->length = get_wlan_bssid_ex_sz(pnetwork); memcpy(&pwlan->network, pnetwork, pnetwork->length); - /* pwlan->fixed = true; */ - - /* list_add_tail(&(pwlan->list), &pmlmepriv->scanned_queue.queue); */ /* copy pdev_network information to pmlmepriv->cur_network */ memcpy(&tgt_network->network, pnetwork, (get_wlan_bssid_ex_sz(pnetwork))); diff --git a/drivers/staging/rtl8723bs/core/rtw_efuse.c b/drivers/staging/rtl8723bs/core/rtw_efuse.c index 168ecb7a998f..4bf69c742009 100644 --- a/drivers/staging/rtl8723bs/core/rtw_efuse.c +++ b/drivers/staging/rtl8723bs/core/rtw_efuse.c @@ -41,53 +41,52 @@ rtw_efuse_calculate_word_counts(u8 word_en) * 09/23/2008 MHC Copy from WMAC. * */ -u8 rtw_efuse_read_1_byte(struct adapter *Adapter, u16 Address) +u8 rtw_efuse_read_1_byte(struct adapter *adapter, u16 address) { - u8 Bytetemp = {0x00}; + u8 byte_temp = {0x00}; u8 temp = {0x00}; u32 k = 0; - u16 contentLen = 0; + u16 content_len = 0; - Hal_GetEfuseDefinition(Adapter, EFUSE_WIFI, TYPE_EFUSE_REAL_CONTENT_LEN, &contentLen); + Hal_GetEfuseDefinition(adapter, EFUSE_WIFI, TYPE_EFUSE_REAL_CONTENT_LEN, &content_len); - if (Address < contentLen) {/* E-fuse 512Byte */ + if (address < content_len) {/* E-fuse 512Byte */ /* Write E-fuse Register address bit0~7 */ - temp = Address & 0xFF; - rtw_write8(Adapter, EFUSE_CTRL + 1, temp); - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 2); + temp = address & 0xFF; + rtw_write8(adapter, EFUSE_CTRL + 1, temp); + byte_temp = rtw_read8(adapter, EFUSE_CTRL + 2); /* Write E-fuse Register address bit8~9 */ - temp = ((Address >> 8) & 0x03) | (Bytetemp & 0xFC); - rtw_write8(Adapter, EFUSE_CTRL + 2, temp); + temp = ((address >> 8) & 0x03) | (byte_temp & 0xFC); + rtw_write8(adapter, EFUSE_CTRL + 2, temp); /* Write 0x30[31]= 0 */ - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 3); - temp = Bytetemp & 0x7F; - rtw_write8(Adapter, EFUSE_CTRL + 3, temp); + byte_temp = rtw_read8(adapter, EFUSE_CTRL + 3); + temp = byte_temp & 0x7F; + rtw_write8(adapter, EFUSE_CTRL + 3, temp); /* Wait Write-ready (0x30[31]= 1) */ - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 3); - while (!(Bytetemp & 0x80)) { - Bytetemp = rtw_read8(Adapter, EFUSE_CTRL + 3); + byte_temp = rtw_read8(adapter, EFUSE_CTRL + 3); + while (!(byte_temp & 0x80)) { + byte_temp = rtw_read8(adapter, EFUSE_CTRL + 3); k++; if (k == 1000) break; } - return rtw_read8(Adapter, EFUSE_CTRL); + return rtw_read8(adapter, EFUSE_CTRL); } else { return 0xFF; } -} /* rtw_efuse_read_1_byte */ +} -/* 11/16/2008 MH Read one byte from real Efuse. */ +/* 11/16/2008 MH Read one byte from real efuse. */ u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data) { u32 tmpidx = 0; - u8 bResult; + u8 b_result; u8 readbyte; /* <20130121, Kordan> For SMIC EFUSE specificatoin. */ /* 0x34[11]: SW force PGMEN input of efuse to high. (for the bank selected by 0x34[9:8]) */ - /* PHY_SetMacReg(padapter, 0x34, BIT11, 0); */ rtw_write16(padapter, 0x34, rtw_read16(padapter, 0x34) & (~BIT(11))); /* -----------------e-fuse reg ctrl --------------------------------- */ @@ -107,19 +106,19 @@ u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data) } if (tmpidx < 100) { *data = rtw_read8(padapter, EFUSE_CTRL); - bResult = true; + b_result = true; } else { *data = 0xff; - bResult = false; + b_result = false; } - return bResult; + return b_result; } /*----------------------------------------------------------------------------- - * Function: Efuse_ReadAllMap + * Function: efuse_read_all_map * - * Overview: Read All Efuse content + * Overview: Read All efuse content * * Input: NONE * @@ -132,68 +131,20 @@ u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data) * 11/11/2008 MHC Create Version 0. * */ -static void Efuse_ReadAllMap(struct adapter *padapter, u8 efuseType, u8 *Efuse) +static void efuse_read_all_map(struct adapter *padapter, u8 efuse_type, u8 *efuse) { - u16 mapLen = 0; + u16 map_len = 0; Hal_EfusePowerSwitch(padapter, true); - Hal_GetEfuseDefinition(padapter, efuseType, TYPE_EFUSE_MAP_LEN, &mapLen); + Hal_GetEfuseDefinition(padapter, efuse_type, TYPE_EFUSE_MAP_LEN, &map_len); - Hal_ReadEFuse(padapter, efuseType, 0, mapLen, Efuse); + Hal_ReadEFuse(padapter, efuse_type, 0, map_len, efuse); Hal_EfusePowerSwitch(padapter, false); } /*----------------------------------------------------------------------------- - * Function: efuse_ShadowRead1Byte - * efuse_ShadowRead2Byte - * efuse_ShadowRead4Byte - * - * Overview: Read from efuse init map by one/two/four bytes !!!!! - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 11/12/2008 MHC Create Version 0. - * - */ -static void efuse_ShadowRead1Byte(struct adapter *padapter, u16 Offset, u8 *Value) -{ - struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); - - *Value = pEEPROM->efuse_eeprom_data[Offset]; - -} /* EFUSE_ShadowRead1Byte */ - -/* Read Two Bytes */ -static void efuse_ShadowRead2Byte(struct adapter *padapter, u16 Offset, u16 *Value) -{ - struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); - - *Value = pEEPROM->efuse_eeprom_data[Offset]; - *Value |= pEEPROM->efuse_eeprom_data[Offset + 1] << 8; - -} /* EFUSE_ShadowRead2Byte */ - -/* Read Four Bytes */ -static void efuse_ShadowRead4Byte(struct adapter *padapter, u16 Offset, u32 *Value) -{ - struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); - - *Value = pEEPROM->efuse_eeprom_data[Offset]; - *Value |= pEEPROM->efuse_eeprom_data[Offset + 1] << 8; - *Value |= pEEPROM->efuse_eeprom_data[Offset + 2] << 16; - *Value |= pEEPROM->efuse_eeprom_data[Offset + 3] << 24; - -} /* efuse_ShadowRead4Byte */ - -/*----------------------------------------------------------------------------- * Function: rtw_efuse_shadow_map_update * * Overview: Transfer current EFUSE content to shadow init and modify map. @@ -209,45 +160,16 @@ static void efuse_ShadowRead4Byte(struct adapter *padapter, u16 Offset, u32 *Val * 11/13/2008 MHC Create Version 0. * */ -void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuseType) +void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuse_type) { - struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); - u16 mapLen = 0; + struct eeprom_priv *eeprom = GET_EEPROM_EFUSE_PRIV(padapter); + u16 map_len = 0; - Hal_GetEfuseDefinition(padapter, efuseType, TYPE_EFUSE_MAP_LEN, &mapLen); + Hal_GetEfuseDefinition(padapter, efuse_type, TYPE_EFUSE_MAP_LEN, &map_len); - if (pEEPROM->bautoload_fail_flag) - memset(pEEPROM->efuse_eeprom_data, 0xFF, mapLen); + if (eeprom->bautoload_fail_flag) + memset(eeprom->efuse_eeprom_data, 0xFF, map_len); else - Efuse_ReadAllMap(padapter, efuseType, pEEPROM->efuse_eeprom_data); + efuse_read_all_map(padapter, efuse_type, eeprom->efuse_eeprom_data); - /* PlatformMoveMemory((void *)&pHalData->EfuseMap[EFUSE_MODIFY_MAP][0], */ - /* void *)&pHalData->EfuseMap[EFUSE_INIT_MAP][0], mapLen); */ } /* rtw_efuse_shadow_map_update */ - -/*----------------------------------------------------------------------------- - * Function: rtw_efuse_shadow_read - * - * Overview: Read from efuse init map !!!!! - * - * Input: NONE - * - * Output: NONE - * - * Return: NONE - * - * Revised History: - * When Who Remark - * 11/12/2008 MHC Create Version 0. - * - */ -void rtw_efuse_shadow_read(struct adapter *padapter, u8 Type, u16 Offset, u32 *Value) -{ - if (Type == 1) - efuse_ShadowRead1Byte(padapter, Offset, (u8 *)Value); - else if (Type == 2) - efuse_ShadowRead2Byte(padapter, Offset, (u16 *)Value); - else if (Type == 4) - efuse_ShadowRead4Byte(padapter, Offset, (u32 *)Value); - -} /* rtw_efuse_shadow_read*/ diff --git a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c index 4d211711f2ba..2b2383021b9c 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c +++ b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c @@ -31,9 +31,7 @@ u8 RSN_CIPHER_SUITE_TKIP[] = { 0x00, 0x0f, 0xac, 2 }; u8 RSN_CIPHER_SUITE_WRAP[] = { 0x00, 0x0f, 0xac, 3 }; u8 RSN_CIPHER_SUITE_CCMP[] = { 0x00, 0x0f, 0xac, 4 }; u8 RSN_CIPHER_SUITE_WEP104[] = { 0x00, 0x0f, 0xac, 5 }; -/* */ /* for adhoc-master to generate ie and provide supported-rate to fw */ -/* */ static u8 WIFI_CCKRATES[] = { (IEEE80211_CCK_RATE_1MB | IEEE80211_BASIC_RATE_MASK), @@ -330,7 +328,6 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv) if (rate_len > 8) { ie = rtw_set_ie(ie, WLAN_EID_SUPP_RATES, 8, pdev_network->supported_rates, &sz); - /* ie = rtw_set_ie(ie, WLAN_EID_EXT_SUPP_RATES, (rate_len - 8), (pdev_network->supported_rates + 8), &sz); */ } else { ie = rtw_set_ie(ie, WLAN_EID_SUPP_RATES, rate_len, pdev_network->supported_rates, &sz); } @@ -351,10 +348,6 @@ int rtw_generate_ie(struct registry_priv *pregistrypriv) /* todo: */ } - /* pdev_network->ie_length = sz; update ie_length */ - - /* return _SUCCESS; */ - return sz; } @@ -481,7 +474,6 @@ int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwis /* pairwise_cipher */ if (left >= 2) { - /* count = le16_to_cpu(*(u16*)pos); */ count = get_unaligned_le16(pos); pos += 2; left -= 2; @@ -543,7 +535,6 @@ int rtw_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwi /* pairwise_cipher */ if (left >= 2) { - /* count = le16_to_cpu(*(u16*)pos); */ count = get_unaligned_le16(pos); pos += 2; left -= 2; @@ -1074,7 +1065,6 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork) { unsigned short cap = 0; u8 bencrypt = 0; - /* u8 wpa_ie[255], rsn_ie[255]; */ u16 wpa_len = 0, rsn_len = 0; struct HT_info_element *pht_info = NULL; struct ieee80211_ht_cap *pht_cap = NULL; diff --git a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c index 2739d0e99098..b82c1e3572c0 100644 --- a/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c +++ b/drivers/staging/rtl8723bs/core/rtw_ioctl_set.c @@ -322,7 +322,6 @@ u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter, case NL80211_IFTYPE_AP: set_fwstate(pmlmepriv, WIFI_AP_STATE); start_ap_mode(padapter); - /* rtw_indicate_connect(padapter); */ break; @@ -330,8 +329,6 @@ u8 rtw_set_802_11_infrastructure_mode(struct adapter *padapter, break; } - /* SecClearAllKeys(adapter); */ - spin_unlock_bh(&pmlmepriv->lock); } return true; diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme.c b/drivers/staging/rtl8723bs/core/rtw_mlme.c index d18768a51b19..0d0602eb4808 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme.c @@ -27,77 +27,77 @@ static void _rtw_set_scan_deny_timer_hdl(struct timer_list *t) rtw_clear_scan_deny(adapter); } -static void rtw_init_mlme_timer(struct adapter *padapter) +static void rtw_init_mlme_timer(struct adapter *adapter) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - timer_setup(&pmlmepriv->assoc_timer, _rtw_join_timeout_handler, 0); - timer_setup(&pmlmepriv->scan_to_timer, rtw_scan_timeout_handler, 0); - timer_setup(&pmlmepriv->dynamic_chk_timer, + timer_setup(&mlme_priv->assoc_timer, _rtw_join_timeout_handler, 0); + timer_setup(&mlme_priv->scan_to_timer, rtw_scan_timeout_handler, 0); + timer_setup(&mlme_priv->dynamic_chk_timer, _dynamic_check_timer_handler, 0); - timer_setup(&pmlmepriv->set_scan_deny_timer, + timer_setup(&mlme_priv->set_scan_deny_timer, _rtw_set_scan_deny_timer_hdl, 0); } -int rtw_init_mlme_priv(struct adapter *padapter) +int rtw_init_mlme_priv(struct adapter *adapter) { int i; - u8 *pbuf; + u8 *buf; struct wlan_network *pnetwork; - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; int res = _SUCCESS; - pmlmepriv->nic_hdl = (u8 *)padapter; + mlme_priv->nic_hdl = (u8 *)adapter; - pmlmepriv->pscanned = NULL; - pmlmepriv->fw_state = WIFI_STATION_STATE; /* Must sync with rtw_wdev_alloc() */ - pmlmepriv->cur_network.network.infrastructure_mode = NL80211_IFTYPE_UNSPECIFIED; - pmlmepriv->scan_mode = SCAN_ACTIVE;/* 1: active, 0: passive. Maybe someday we should rename this variable to "active_mode" (Jeff) */ + mlme_priv->pscanned = NULL; + mlme_priv->fw_state = WIFI_STATION_STATE; /* Must sync with rtw_wdev_alloc() */ + mlme_priv->cur_network.network.infrastructure_mode = NL80211_IFTYPE_UNSPECIFIED; + mlme_priv->scan_mode = SCAN_ACTIVE;/* 1: active, 0: passive. Maybe someday we should rename this variable to "active_mode" (Jeff) */ - spin_lock_init(&pmlmepriv->lock); - INIT_LIST_HEAD(&pmlmepriv->free_bss_pool.queue); - spin_lock_init(&pmlmepriv->free_bss_pool.lock); - INIT_LIST_HEAD(&pmlmepriv->scanned_queue.queue); - spin_lock_init(&pmlmepriv->scanned_queue.lock); + spin_lock_init(&mlme_priv->lock); + INIT_LIST_HEAD(&mlme_priv->free_bss_pool.queue); + spin_lock_init(&mlme_priv->free_bss_pool.lock); + INIT_LIST_HEAD(&mlme_priv->scanned_queue.queue); + spin_lock_init(&mlme_priv->scanned_queue.lock); - memset(&pmlmepriv->assoc_ssid, 0, sizeof(struct ndis_802_11_ssid)); + memset(&mlme_priv->assoc_ssid, 0, sizeof(struct ndis_802_11_ssid)); - pbuf = vzalloc(array_size(MAX_BSS_CNT, sizeof(struct wlan_network))); + buf = vzalloc(array_size(MAX_BSS_CNT, sizeof(struct wlan_network))); - if (!pbuf) { + if (!buf) { res = _FAIL; goto exit; } - pmlmepriv->free_bss_buf = pbuf; + mlme_priv->free_bss_buf = buf; - pnetwork = (struct wlan_network *)pbuf; + pnetwork = (struct wlan_network *)buf; for (i = 0; i < MAX_BSS_CNT; i++) { INIT_LIST_HEAD(&pnetwork->list); - list_add_tail(&pnetwork->list, &pmlmepriv->free_bss_pool.queue); + list_add_tail(&pnetwork->list, &mlme_priv->free_bss_pool.queue); pnetwork++; } /* allocate DMA-able/Non-Page memory for cmd_buf and rsp_buf */ - rtw_clear_scan_deny(padapter); + rtw_clear_scan_deny(adapter); #define RTW_ROAM_SCAN_RESULT_EXP_MS 5000 #define RTW_ROAM_RSSI_DIFF_TH 10 #define RTW_ROAM_SCAN_INTERVAL_MS 10000 - pmlmepriv->roam_flags = 0 + mlme_priv->roam_flags = 0 | RTW_ROAM_ON_EXPIRED | RTW_ROAM_ON_RESUME ; - pmlmepriv->roam_scanr_exp_ms = RTW_ROAM_SCAN_RESULT_EXP_MS; - pmlmepriv->roam_rssi_diff_th = RTW_ROAM_RSSI_DIFF_TH; - pmlmepriv->roam_scan_int_ms = RTW_ROAM_SCAN_INTERVAL_MS; + mlme_priv->roam_scanr_exp_ms = RTW_ROAM_SCAN_RESULT_EXP_MS; + mlme_priv->roam_rssi_diff_th = RTW_ROAM_RSSI_DIFF_TH; + mlme_priv->roam_scan_int_ms = RTW_ROAM_SCAN_INTERVAL_MS; - rtw_init_mlme_timer(padapter); + rtw_init_mlme_timer(adapter); exit: @@ -113,34 +113,34 @@ static void rtw_free_mlme_ie_data(u8 **ppie, u32 *plen) } } -void rtw_free_mlme_priv_ie_data(struct mlme_priv *pmlmepriv) +void rtw_free_mlme_priv_ie_data(struct mlme_priv *mlme_priv) { - rtw_buf_free(&pmlmepriv->assoc_req, &pmlmepriv->assoc_req_len); - rtw_buf_free(&pmlmepriv->assoc_rsp, &pmlmepriv->assoc_rsp_len); - rtw_free_mlme_ie_data(&pmlmepriv->wps_beacon_ie, &pmlmepriv->wps_beacon_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->wps_probe_req_ie, &pmlmepriv->wps_probe_req_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->wps_probe_resp_ie, &pmlmepriv->wps_probe_resp_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->wps_assoc_resp_ie, &pmlmepriv->wps_assoc_resp_ie_len); + rtw_buf_free(&mlme_priv->assoc_req, &mlme_priv->assoc_req_len); + rtw_buf_free(&mlme_priv->assoc_rsp, &mlme_priv->assoc_rsp_len); + rtw_free_mlme_ie_data(&mlme_priv->wps_beacon_ie, &mlme_priv->wps_beacon_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->wps_probe_req_ie, &mlme_priv->wps_probe_req_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->wps_probe_resp_ie, &mlme_priv->wps_probe_resp_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->wps_assoc_resp_ie, &mlme_priv->wps_assoc_resp_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->p2p_beacon_ie, &pmlmepriv->p2p_beacon_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->p2p_probe_req_ie, &pmlmepriv->p2p_probe_req_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->p2p_probe_resp_ie, &pmlmepriv->p2p_probe_resp_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->p2p_go_probe_resp_ie, &pmlmepriv->p2p_go_probe_resp_ie_len); - rtw_free_mlme_ie_data(&pmlmepriv->p2p_assoc_req_ie, &pmlmepriv->p2p_assoc_req_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->p2p_beacon_ie, &mlme_priv->p2p_beacon_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->p2p_probe_req_ie, &mlme_priv->p2p_probe_req_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->p2p_probe_resp_ie, &mlme_priv->p2p_probe_resp_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->p2p_go_probe_resp_ie, &mlme_priv->p2p_go_probe_resp_ie_len); + rtw_free_mlme_ie_data(&mlme_priv->p2p_assoc_req_ie, &mlme_priv->p2p_assoc_req_ie_len); } -void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv) +void _rtw_free_mlme_priv(struct mlme_priv *mlme_priv) { - if (pmlmepriv) { - rtw_free_mlme_priv_ie_data(pmlmepriv); - vfree(pmlmepriv->free_bss_buf); + if (mlme_priv) { + rtw_free_mlme_priv_ie_data(mlme_priv); + vfree(mlme_priv->free_bss_buf); } } -struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv) +struct wlan_network *rtw_alloc_network(struct mlme_priv *mlme_priv) { struct wlan_network *pnetwork; - struct __queue *free_queue = &pmlmepriv->free_bss_pool; + struct __queue *free_queue = &mlme_priv->free_bss_pool; struct list_head *plist = NULL; spin_lock_bh(&free_queue->lock); @@ -167,11 +167,11 @@ exit: return pnetwork; } -void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork, u8 isfreeall) +void _rtw_free_network(struct mlme_priv *mlme_priv, struct wlan_network *pnetwork, u8 isfreeall) { unsigned int delta_time; u32 lifetime = SCANQUEUE_LIFETIME; - struct __queue *free_queue = &pmlmepriv->free_bss_pool; + struct __queue *free_queue = &mlme_priv->free_bss_pool; if (!pnetwork) return; @@ -179,8 +179,8 @@ void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwor if (pnetwork->fixed) return; - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) || - check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE) || + check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) lifetime = 1; if (!isfreeall) { @@ -198,9 +198,9 @@ void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwor spin_unlock_bh(&free_queue->lock); } -void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork) +void _rtw_free_network_nolock(struct mlme_priv *mlme_priv, struct wlan_network *pnetwork) { - struct __queue *free_queue = &pmlmepriv->free_bss_pool; + struct __queue *free_queue = &mlme_priv->free_bss_pool; if (!pnetwork) return; @@ -243,12 +243,12 @@ exit: return pnetwork; } -void rtw_free_network_queue(struct adapter *padapter, u8 isfreeall) +void rtw_free_network_queue(struct adapter *adapter, u8 isfreeall) { struct list_head *phead, *plist, *tmp; struct wlan_network *pnetwork; - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct __queue *scanned_queue = &pmlmepriv->scanned_queue; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct __queue *scanned_queue = &mlme_priv->scanned_queue; spin_lock_bh(&scanned_queue->lock); @@ -256,31 +256,31 @@ void rtw_free_network_queue(struct adapter *padapter, u8 isfreeall) list_for_each_safe(plist, tmp, phead) { pnetwork = list_entry(plist, struct wlan_network, list); - _rtw_free_network(pmlmepriv, pnetwork, isfreeall); + _rtw_free_network(mlme_priv, pnetwork, isfreeall); } spin_unlock_bh(&scanned_queue->lock); } -bool rtw_if_up(struct adapter *padapter) +bool rtw_if_up(struct adapter *adapter) { - if (padapter->driver_stopped || padapter->bSurpriseRemoved || - !check_fwstate(&padapter->mlmepriv, _FW_LINKED)) + if (adapter->driver_stopped || adapter->bSurpriseRemoved || + !check_fwstate(&adapter->mlmepriv, _FW_LINKED)) return false; return true; } -void rtw_generate_random_ibss(u8 *pibss) +void rtw_generate_random_ibss(u8 *ibss) { unsigned long curtime = jiffies; - pibss[0] = 0x02; /* in ad-hoc mode bit1 must set to 1 */ - pibss[1] = 0x11; - pibss[2] = 0x87; - pibss[3] = (u8)(curtime & 0xff) ;/* p[0]; */ - pibss[4] = (u8)((curtime >> 8) & 0xff) ;/* p[1]; */ - pibss[5] = (u8)((curtime >> 16) & 0xff) ;/* p[2]; */ + ibss[0] = 0x02; /* in ad-hoc mode bit1 must set to 1 */ + ibss[1] = 0x11; + ibss[2] = 0x87; + ibss[3] = (u8)(curtime & 0xff) ;/* p[0]; */ + ibss[4] = (u8)((curtime >> 8) & 0xff) ;/* p[1]; */ + ibss[5] = (u8)((curtime >> 16) & 0xff) ;/* p[2]; */ } u8 *rtw_get_capability_from_ie(u8 *ie) @@ -302,16 +302,16 @@ u8 *rtw_get_beacon_interval_from_ie(u8 *ie) return ie + 8; } -void rtw_free_mlme_priv(struct mlme_priv *pmlmepriv) +void rtw_free_mlme_priv(struct mlme_priv *mlme_priv) { - _rtw_free_mlme_priv(pmlmepriv); + _rtw_free_mlme_priv(mlme_priv); } -void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork); -void rtw_free_network_nolock(struct adapter *padapter, struct wlan_network *pnetwork) +void rtw_free_network_nolock(struct adapter *adapter, struct wlan_network *pnetwork); +void rtw_free_network_nolock(struct adapter *adapter, struct wlan_network *pnetwork) { - _rtw_free_network_nolock(&padapter->mlmepriv, pnetwork); - rtw_cfg80211_unlink_bss(padapter, pnetwork); + _rtw_free_network_nolock(&adapter->mlmepriv, pnetwork); + rtw_cfg80211_unlink_bss(adapter, pnetwork); } /* @@ -406,7 +406,7 @@ struct wlan_network *rtw_get_oldest_wlan_network(struct __queue *scanned_queue) } void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src, - struct adapter *padapter, bool update_ie) + struct adapter *adapter, bool update_ie) { long rssi_ori = dst->rssi; @@ -417,10 +417,10 @@ void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src, long rssi_final; /* The rule below is 1/5 for sample value, 4/5 for history value */ - if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) && is_same_network(&padapter->mlmepriv.cur_network.network, src, 0)) { + if (check_fwstate(&adapter->mlmepriv, _FW_LINKED) && is_same_network(&adapter->mlmepriv.cur_network.network, src, 0)) { /* Take the recvpriv's value for the connected AP*/ - ss_final = padapter->recvpriv.signal_strength; - sq_final = padapter->recvpriv.signal_qual; + ss_final = adapter->recvpriv.signal_strength; + sq_final = adapter->recvpriv.signal_qual; /* the rssi value here is undecorated, and will be used for antenna diversity */ if (sq_smp != 101) /* from the right channel */ rssi_final = (src->rssi + dst->rssi * 4) / 5; @@ -428,8 +428,10 @@ void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src, rssi_final = rssi_ori; } else { if (sq_smp != 101) { /* from the right channel */ - ss_final = ((u32)(src->phy_info.signal_strength) + (u32)(dst->phy_info.signal_strength) * 4) / 5; - sq_final = ((u32)(src->phy_info.signal_quality) + (u32)(dst->phy_info.signal_quality) * 4) / 5; + ss_final = ((u32)(src->phy_info.signal_strength) + + (u32)(dst->phy_info.signal_strength) * 4) / 5; + sq_final = ((u32)(src->phy_info.signal_quality) + + (u32)(dst->phy_info.signal_quality) * 4) / 5; rssi_final = (src->rssi + dst->rssi * 4) / 5; } else { /* bss info not receiving from the right channel, use the original RX signal infos */ @@ -452,25 +454,25 @@ void update_network(struct wlan_bssid_ex *dst, struct wlan_bssid_ex *src, static void update_current_network(struct adapter *adapter, struct wlan_bssid_ex *pnetwork) { - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - if (check_fwstate(pmlmepriv, _FW_LINKED) && (is_same_network(&pmlmepriv->cur_network.network, pnetwork, 0))) { - update_network(&pmlmepriv->cur_network.network, pnetwork, adapter, true); - if (pmlmepriv->cur_network.network.ie_length < sizeof(struct ndis_802_11_fix_ie)) + if (check_fwstate(mlme_priv, _FW_LINKED) && (is_same_network(&mlme_priv->cur_network.network, pnetwork, 0))) { + update_network(&mlme_priv->cur_network.network, pnetwork, adapter, true); + if (mlme_priv->cur_network.network.ie_length < sizeof(struct ndis_802_11_fix_ie)) return; - rtw_update_protection(adapter, (pmlmepriv->cur_network.network.ies) + sizeof(struct ndis_802_11_fix_ie), - pmlmepriv->cur_network.network.ie_length - sizeof(struct ndis_802_11_fix_ie)); + rtw_update_protection(adapter, (mlme_priv->cur_network.network.ies) + sizeof(struct ndis_802_11_fix_ie), + mlme_priv->cur_network.network.ie_length - sizeof(struct ndis_802_11_fix_ie)); } } -/* Caller must hold pmlmepriv->lock first. */ +/* Caller must hold mlme_priv->lock first. */ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *target) { struct list_head *plist, *phead; u32 bssid_ex_sz; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct __queue *queue = &pmlmepriv->scanned_queue; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct __queue *queue = &mlme_priv->scanned_queue; struct wlan_network *pnetwork = NULL; struct wlan_network *oldest = NULL; int target_find = 0; @@ -499,7 +501,7 @@ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *t * with this beacon's information */ if (!target_find) { - if (list_empty(&pmlmepriv->free_bss_pool.queue)) { + if (list_empty(&mlme_priv->free_bss_pool.queue)) { /* If there are no more slots, expire the oldest */ /* list_del_init(&oldest->list); */ pnetwork = oldest; @@ -521,7 +523,7 @@ void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *t } else { /* Otherwise just pull from the free list */ - pnetwork = rtw_alloc_network(pmlmepriv); /* will update scan_time */ + pnetwork = rtw_alloc_network(mlme_priv); /* will update scan_time */ if (!pnetwork) goto exit; @@ -583,7 +585,7 @@ static void rtw_add_network(struct adapter *adapter, struct wlan_bssid_ex *pnetw static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network *pnetwork) { struct security_priv *psecuritypriv = &adapter->securitypriv; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; u32 desired_encmode; u32 privacy; uint wps_ielen; @@ -592,7 +594,7 @@ static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network desired_encmode = psecuritypriv->ndisencryptstatus; privacy = pnetwork->network.privacy; - if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS)) { + if (check_fwstate(mlme_priv, WIFI_UNDER_WPS)) { if (pnetwork->network.ie_length < _FIXED_IE_LENGTH_) return false; if (rtw_get_wps_ie(pnetwork->network.ies + _FIXED_IE_LENGTH_, pnetwork->network.ie_length - _FIXED_IE_LENGTH_, NULL, &wps_ielen)) @@ -624,47 +626,47 @@ static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network if ((desired_encmode != Ndis802_11EncryptionDisabled) && (privacy == 0)) bselected = false; - if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { - if (pnetwork->network.infrastructure_mode != pmlmepriv->cur_network.network.infrastructure_mode) + if (check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { + if (pnetwork->network.infrastructure_mode != mlme_priv->cur_network.network.infrastructure_mode) bselected = false; } return bselected; } -void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_survey_event_callback(struct adapter *adapter, u8 *buf) { u32 len; struct wlan_bssid_ex *pnetwork; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - pnetwork = (struct wlan_bssid_ex *)pbuf; + pnetwork = (struct wlan_bssid_ex *)buf; len = get_wlan_bssid_ex_sz(pnetwork); if (len > (sizeof(struct wlan_bssid_ex))) return; - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); /* update IBSS_network 's timestamp */ - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) { - if (!memcmp(&pmlmepriv->cur_network.network.mac_address, pnetwork->mac_address, ETH_ALEN)) { + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE)) { + if (!memcmp(&mlme_priv->cur_network.network.mac_address, pnetwork->mac_address, ETH_ALEN)) { struct wlan_network *ibss_wlan = NULL; - memcpy(pmlmepriv->cur_network.network.ies, pnetwork->ies, 8); - spin_lock_bh(&pmlmepriv->scanned_queue.lock); - ibss_wlan = rtw_find_network(&pmlmepriv->scanned_queue, pnetwork->mac_address); + memcpy(mlme_priv->cur_network.network.ies, pnetwork->ies, 8); + spin_lock_bh(&mlme_priv->scanned_queue.lock); + ibss_wlan = rtw_find_network(&mlme_priv->scanned_queue, pnetwork->mac_address); if (ibss_wlan) { memcpy(ibss_wlan->network.ies, pnetwork->ies, 8); - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); goto exit; } - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); } } - /* lock pmlmepriv->lock when you accessing network_q */ - if (!check_fwstate(pmlmepriv, _FW_UNDER_LINKING)) { + /* lock mlme_priv->lock when you accessing network_q */ + if (!check_fwstate(mlme_priv, _FW_UNDER_LINKING)) { if (pnetwork->ssid.ssid[0] == 0) pnetwork->ssid.ssid_length = 0; rtw_add_network(adapter, pnetwork); @@ -672,55 +674,55 @@ void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf) exit: - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); } -void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_surveydone_event_callback(struct adapter *adapter, u8 *buf) { - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - spin_lock_bh(&pmlmepriv->lock); - if (pmlmepriv->wps_probe_req_ie) { - pmlmepriv->wps_probe_req_ie_len = 0; - kfree(pmlmepriv->wps_probe_req_ie); - pmlmepriv->wps_probe_req_ie = NULL; + spin_lock_bh(&mlme_priv->lock); + if (mlme_priv->wps_probe_req_ie) { + mlme_priv->wps_probe_req_ie_len = 0; + kfree(mlme_priv->wps_probe_req_ie); + mlme_priv->wps_probe_req_ie = NULL; } - if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY)) { - spin_unlock_bh(&pmlmepriv->lock); - timer_delete_sync(&pmlmepriv->scan_to_timer); - spin_lock_bh(&pmlmepriv->lock); - _clr_fwstate_(pmlmepriv, _FW_UNDER_SURVEY); + if (check_fwstate(mlme_priv, _FW_UNDER_SURVEY)) { + spin_unlock_bh(&mlme_priv->lock); + timer_delete_sync(&mlme_priv->scan_to_timer); + spin_lock_bh(&mlme_priv->lock); + _clr_fwstate_(mlme_priv, _FW_UNDER_SURVEY); } rtw_set_signal_stat_timer(&adapter->recvpriv); - if (pmlmepriv->to_join) { - if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { - if (!check_fwstate(pmlmepriv, _FW_LINKED)) { - set_fwstate(pmlmepriv, _FW_UNDER_LINKING); + if (mlme_priv->to_join) { + if (check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { + if (!check_fwstate(mlme_priv, _FW_LINKED)) { + set_fwstate(mlme_priv, _FW_UNDER_LINKING); - if (rtw_select_and_join_from_scanned_queue(pmlmepriv) == _SUCCESS) { - _set_timer(&pmlmepriv->assoc_timer, MAX_JOIN_TIMEOUT); + if (rtw_select_and_join_from_scanned_queue(mlme_priv) == _SUCCESS) { + _set_timer(&mlme_priv->assoc_timer, MAX_JOIN_TIMEOUT); } else { u8 ret = _SUCCESS; - struct wlan_bssid_ex *pdev_network = + struct wlan_bssid_ex *dev_network = &adapter->registrypriv.dev_network; - u8 *pibss = adapter->registrypriv.dev_network.mac_address; + u8 *ibss = adapter->registrypriv.dev_network.mac_address; - /* pmlmepriv->fw_state ^= _FW_UNDER_SURVEY;because don't set assoc_timer */ - _clr_fwstate_(pmlmepriv, _FW_UNDER_SURVEY); + /* mlme_priv->fw_state ^= _FW_UNDER_SURVEY;because don't set assoc_timer */ + _clr_fwstate_(mlme_priv, _FW_UNDER_SURVEY); - memcpy(&pdev_network->ssid, &pmlmepriv->assoc_ssid, + memcpy(&dev_network->ssid, &mlme_priv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); rtw_update_registrypriv_dev_network(adapter); - rtw_generate_random_ibss(pibss); + rtw_generate_random_ibss(ibss); - pmlmepriv->fw_state = WIFI_ADHOC_MASTER_STATE; + mlme_priv->fw_state = WIFI_ADHOC_MASTER_STATE; - pmlmepriv->to_join = false; + mlme_priv->to_join = false; ret = rtw_createbss_cmd(adapter); if (ret != _SUCCESS) @@ -730,37 +732,37 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf) } else { int s_ret; - set_fwstate(pmlmepriv, _FW_UNDER_LINKING); - pmlmepriv->to_join = false; - s_ret = rtw_select_and_join_from_scanned_queue(pmlmepriv); + set_fwstate(mlme_priv, _FW_UNDER_LINKING); + mlme_priv->to_join = false; + s_ret = rtw_select_and_join_from_scanned_queue(mlme_priv); if (s_ret == _SUCCESS) { - _set_timer(&pmlmepriv->assoc_timer, MAX_JOIN_TIMEOUT); + _set_timer(&mlme_priv->assoc_timer, MAX_JOIN_TIMEOUT); } else if (s_ret == 2) {/* there is no need to wait for join */ - _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); + _clr_fwstate_(mlme_priv, _FW_UNDER_LINKING); rtw_indicate_connect(adapter); } else { if (rtw_to_roam(adapter) != 0) { if (rtw_dec_to_roam(adapter) == 0 || - rtw_sitesurvey_cmd(adapter, &pmlmepriv->assoc_ssid, + rtw_sitesurvey_cmd(adapter, &mlme_priv->assoc_ssid, 1, NULL, 0) != _SUCCESS) { rtw_set_to_roam(adapter, 0); rtw_free_assoc_resources(adapter, 1); rtw_indicate_disconnect(adapter); } else { - pmlmepriv->to_join = true; + mlme_priv->to_join = true; } } else { rtw_indicate_disconnect(adapter); } - _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); + _clr_fwstate_(mlme_priv, _FW_UNDER_LINKING); } } } else { if (rtw_chk_roam_flags(adapter, RTW_ROAM_ACTIVE)) { - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) && - check_fwstate(pmlmepriv, _FW_LINKED)) { - if (rtw_select_roaming_candidate(pmlmepriv) == _SUCCESS) { - receive_disconnect(adapter, pmlmepriv->cur_network.network.mac_address + if (check_fwstate(mlme_priv, WIFI_STATION_STATE) && + check_fwstate(mlme_priv, _FW_LINKED)) { + if (rtw_select_roaming_candidate(mlme_priv) == _SUCCESS) { + receive_disconnect(adapter, mlme_priv->cur_network.network.mac_address , WLAN_REASON_ACTIVE_ROAM); } } @@ -768,7 +770,7 @@ void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf) } unlock: - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); rtw_os_xmit_schedule(adapter); @@ -777,18 +779,18 @@ unlock: rtw_indicate_scan_done(adapter, false); } -void rtw_dummy_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_dummy_event_callback(struct adapter *adapter, u8 *buf) { } -void rtw_fwdbg_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_fwdbg_event_callback(struct adapter *adapter, u8 *buf) { } -static void free_scanqueue(struct mlme_priv *pmlmepriv) +static void free_scanqueue(struct mlme_priv *mlme_priv) { - struct __queue *free_queue = &pmlmepriv->free_bss_pool; - struct __queue *scan_queue = &pmlmepriv->scanned_queue; + struct __queue *free_queue = &mlme_priv->free_bss_pool; + struct __queue *scan_queue = &mlme_priv->scanned_queue; struct list_head *plist, *phead, *ptemp; spin_lock_bh(&scan_queue->lock); @@ -811,34 +813,34 @@ static void free_scanqueue(struct mlme_priv *pmlmepriv) static void find_network(struct adapter *adapter) { struct wlan_network *pwlan = NULL; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct wlan_network *tgt_network = &pmlmepriv->cur_network; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct wlan_network *tgt_network = &mlme_priv->cur_network; - pwlan = rtw_find_network(&pmlmepriv->scanned_queue, tgt_network->network.mac_address); + pwlan = rtw_find_network(&mlme_priv->scanned_queue, tgt_network->network.mac_address); if (!pwlan) return; pwlan->fixed = false; - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) && + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE) && (adapter->stapriv.asoc_sta_count == 1)) rtw_free_network_nolock(adapter, pwlan); } -/* rtw_free_assoc_resources: the caller has to lock pmlmepriv->lock */ +/* rtw_free_assoc_resources: the caller has to lock mlme_priv->lock */ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue) { - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct wlan_network *tgt_network = &pmlmepriv->cur_network; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct wlan_network *tgt_network = &mlme_priv->cur_network; - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE | WIFI_AP_STATE)) { + if (check_fwstate(mlme_priv, WIFI_STATION_STATE | WIFI_AP_STATE)) { struct sta_info *psta; psta = rtw_get_stainfo(&adapter->stapriv, tgt_network->network.mac_address); rtw_free_stainfo(adapter, psta); } - if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE | WIFI_AP_STATE)) { + if (check_fwstate(mlme_priv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE | WIFI_AP_STATE)) { struct sta_info *psta; rtw_free_all_stainfo(adapter); @@ -855,82 +857,82 @@ void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue) adapter->securitypriv.key_mask = 0; } -/* rtw_indicate_connect: the caller has to lock pmlmepriv->lock */ -void rtw_indicate_connect(struct adapter *padapter) +/* rtw_indicate_connect: the caller has to lock mlme_priv->lock */ +void rtw_indicate_connect(struct adapter *adapter) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - pmlmepriv->to_join = false; + mlme_priv->to_join = false; - if (!check_fwstate(&padapter->mlmepriv, _FW_LINKED)) { - set_fwstate(pmlmepriv, _FW_LINKED); + if (!check_fwstate(&adapter->mlmepriv, _FW_LINKED)) { + set_fwstate(mlme_priv, _FW_LINKED); - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) || - check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) - rtw_cfg80211_ibss_indicate_connect(padapter); + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE) || + check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) + rtw_cfg80211_ibss_indicate_connect(adapter); else - rtw_cfg80211_indicate_connect(padapter); + rtw_cfg80211_indicate_connect(adapter); - netif_carrier_on(padapter->pnetdev); + netif_carrier_on(adapter->pnetdev); - if (padapter->pid[2] != 0) - rtw_signal_process(padapter->pid[2], SIGALRM); + if (adapter->pid[2] != 0) + rtw_signal_process(adapter->pid[2], SIGALRM); } - rtw_set_to_roam(padapter, 0); - rtw_set_scan_deny(padapter, 3000); + rtw_set_to_roam(adapter, 0); + rtw_set_scan_deny(adapter, 3000); } -/* rtw_indicate_disconnect: the caller has to lock pmlmepriv->lock */ -void rtw_indicate_disconnect(struct adapter *padapter) +/* rtw_indicate_disconnect: the caller has to lock mlme_priv->lock */ +void rtw_indicate_disconnect(struct adapter *adapter) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING | WIFI_UNDER_WPS); + _clr_fwstate_(mlme_priv, _FW_UNDER_LINKING | WIFI_UNDER_WPS); - if (rtw_to_roam(padapter) > 0) - _clr_fwstate_(pmlmepriv, _FW_LINKED); + if (rtw_to_roam(adapter) > 0) + _clr_fwstate_(mlme_priv, _FW_LINKED); - if (check_fwstate(&padapter->mlmepriv, _FW_LINKED) || rtw_to_roam(padapter) <= 0) { + if (check_fwstate(&adapter->mlmepriv, _FW_LINKED) || rtw_to_roam(adapter) <= 0) { /* Do it first for tx broadcast pkt after disconnection issue! */ - netif_carrier_off(padapter->pnetdev); + netif_carrier_off(adapter->pnetdev); - rtw_cfg80211_indicate_disconnect(padapter); + rtw_cfg80211_indicate_disconnect(adapter); - rtw_reset_securitypriv_cmd(padapter); + rtw_reset_securitypriv_cmd(adapter); /* set ips_deny_time to avoid enter IPS before LPS leave */ - rtw_set_ips_deny(padapter, 3000); + rtw_set_ips_deny(adapter, 3000); - _clr_fwstate_(pmlmepriv, _FW_LINKED); + _clr_fwstate_(mlme_priv, _FW_LINKED); - rtw_clear_scan_deny(padapter); + rtw_clear_scan_deny(adapter); } - rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_DISCONNECT, 1); + rtw_lps_ctrl_wk_cmd(adapter, LPS_CTRL_DISCONNECT, 1); } -inline void rtw_indicate_scan_done(struct adapter *padapter, bool aborted) +inline void rtw_indicate_scan_done(struct adapter *adapter, bool aborted) { - rtw_cfg80211_indicate_scan_done(padapter, aborted); + rtw_cfg80211_indicate_scan_done(adapter, aborted); - if ((!adapter_to_pwrctl(padapter)->bInSuspend) && - (!check_fwstate(&padapter->mlmepriv, + if ((!adapter_to_pwrctl(adapter)->bInSuspend) && + (!check_fwstate(&adapter->mlmepriv, WIFI_ASOC_STATE | WIFI_UNDER_LINKING))) { - rtw_set_ips_deny(padapter, 0); - _set_timer(&padapter->mlmepriv.dynamic_chk_timer, 1); + rtw_set_ips_deny(adapter, 0); + _set_timer(&adapter->mlmepriv.dynamic_chk_timer, 1); } } void rtw_scan_abort(struct adapter *adapter) { unsigned long start; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; start = jiffies; pmlmeext->scan_abort = true; - while (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY) + while (check_fwstate(mlme_priv, _FW_UNDER_SURVEY) && jiffies_to_msecs(start) <= 200) { if (adapter->driver_stopped || adapter->bSurpriseRemoved) break; @@ -938,19 +940,19 @@ void rtw_scan_abort(struct adapter *adapter) msleep(20); } - if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY)) + if (check_fwstate(mlme_priv, _FW_UNDER_SURVEY)) rtw_indicate_scan_done(adapter, true); pmlmeext->scan_abort = false; } -static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, struct wlan_network *pnetwork) +static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *adapter, struct wlan_network *pnetwork) { int i; struct sta_info *bmc_sta, *psta = NULL; struct recv_reorder_ctrl *preorder_ctrl; - struct sta_priv *pstapriv = &padapter->stapriv; - struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; + struct sta_priv *pstapriv = &adapter->stapriv; + struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; psta = rtw_get_stainfo(pstapriv, pnetwork->network.mac_address); if (!psta) @@ -960,27 +962,27 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str psta->aid = pnetwork->join_res; - update_sta_info(padapter, psta); + update_sta_info(adapter, psta); /* update station supportRate */ psta->bssratelen = rtw_get_rateset_len(pnetwork->network.supported_rates); memcpy(psta->bssrateset, pnetwork->network.supported_rates, psta->bssratelen); - rtw_hal_update_sta_rate_mask(padapter, psta); + rtw_hal_update_sta_rate_mask(adapter, psta); psta->wireless_mode = pmlmeext->cur_wireless_mode; - psta->raid = networktype_to_raid_ex(padapter, psta); + psta->raid = networktype_to_raid_ex(adapter, psta); /* sta mode */ - rtw_hal_set_odm_var(padapter, HAL_ODM_STA_INFO, psta, true); + rtw_hal_set_odm_var(adapter, HAL_ODM_STA_INFO, psta, true); /* security related */ - if (padapter->securitypriv.dot11_auth_algrthm == dot11_auth_algrthm_8021x) { - padapter->securitypriv.binstallGrpkey = false; - padapter->securitypriv.busetkipkey = false; - padapter->securitypriv.bgrpkey_handshake = false; + if (adapter->securitypriv.dot11_auth_algrthm == dot11_auth_algrthm_8021x) { + adapter->securitypriv.binstallGrpkey = false; + adapter->securitypriv.busetkipkey = false; + adapter->securitypriv.bgrpkey_handshake = false; psta->ieee8021x_blocked = true; - psta->dot118021XPrivacy = padapter->securitypriv.dot11_privacy_algrthm; + psta->dot118021_x_privacy = adapter->securitypriv.dot11_privacy_algrthm; memset((u8 *)&psta->dot118021x_UncstKey, 0, sizeof(union Keytype)); @@ -995,9 +997,9 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str /* When doing the WPS, the wps_ie_len won't equal to 0 */ /* And the Wi-Fi driver shouldn't allow the data packet to be transmitted. */ - if (padapter->securitypriv.wps_ie_len != 0) { + if (adapter->securitypriv.wps_ie_len != 0) { psta->ieee8021x_blocked = true; - padapter->securitypriv.wps_ie_len = 0; + adapter->securitypriv.wps_ie_len = 0; } /* for A-MPDU Rx reordering buffer control for bmc_sta & sta_info */ @@ -1011,7 +1013,7 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str preorder_ctrl->wsize_b = 64;/* max_ampdu_sz;ex. 32(kbytes) -> wsize_b =32 */ } - bmc_sta = rtw_get_bcmc_stainfo(padapter); + bmc_sta = rtw_get_bcmc_stainfo(adapter); if (bmc_sta) { for (i = 0; i < 16 ; i++) { preorder_ctrl = &bmc_sta->recvreorder_ctrl[i]; @@ -1028,11 +1030,11 @@ static struct sta_info *rtw_joinbss_update_stainfo(struct adapter *padapter, str /* pnetwork : returns from rtw_joinbss_event_callback */ /* ptarget_wlan: found from scanned_queue */ -static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_network *ptarget_wlan, +static void rtw_joinbss_update_network(struct adapter *adapter, struct wlan_network *ptarget_wlan, struct wlan_network *pnetwork) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct wlan_network *cur_network = &pmlmepriv->cur_network; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct wlan_network *cur_network = &mlme_priv->cur_network; /* why not use ptarget_wlan?? */ memcpy(&cur_network->network, &pnetwork->network, pnetwork->network.length); @@ -1042,48 +1044,48 @@ static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_net cur_network->aid = pnetwork->join_res; - rtw_set_signal_stat_timer(&padapter->recvpriv); + rtw_set_signal_stat_timer(&adapter->recvpriv); - padapter->recvpriv.signal_strength = ptarget_wlan->network.phy_info.signal_strength; - padapter->recvpriv.signal_qual = ptarget_wlan->network.phy_info.signal_quality; + adapter->recvpriv.signal_strength = ptarget_wlan->network.phy_info.signal_strength; + adapter->recvpriv.signal_qual = ptarget_wlan->network.phy_info.signal_quality; /* the ptarget_wlan->network.rssi is raw data, we use ptarget_wlan->network.phy_info.signal_strength instead (has scaled) */ - padapter->recvpriv.rssi = translate_percentage_to_dbm(ptarget_wlan->network.phy_info.signal_strength); + adapter->recvpriv.rssi = translate_percentage_to_dbm(ptarget_wlan->network.phy_info.signal_strength); - rtw_set_signal_stat_timer(&padapter->recvpriv); + rtw_set_signal_stat_timer(&adapter->recvpriv); /* update fw_state will clr _FW_UNDER_LINKING here indirectly */ switch (pnetwork->network.infrastructure_mode) { case NL80211_IFTYPE_STATION: - if (pmlmepriv->fw_state & WIFI_UNDER_WPS) - pmlmepriv->fw_state = WIFI_STATION_STATE | WIFI_UNDER_WPS; + if (mlme_priv->fw_state & WIFI_UNDER_WPS) + mlme_priv->fw_state = WIFI_STATION_STATE | WIFI_UNDER_WPS; else - pmlmepriv->fw_state = WIFI_STATION_STATE; + mlme_priv->fw_state = WIFI_STATION_STATE; break; case NL80211_IFTYPE_ADHOC: - pmlmepriv->fw_state = WIFI_ADHOC_STATE; + mlme_priv->fw_state = WIFI_ADHOC_STATE; break; default: - pmlmepriv->fw_state = WIFI_NULL_STATE; + mlme_priv->fw_state = WIFI_NULL_STATE; break; } if (cur_network->network.ie_length < sizeof(struct ndis_802_11_fix_ie)) return; - rtw_update_protection(padapter, (cur_network->network.ies) + sizeof(struct ndis_802_11_fix_ie), + rtw_update_protection(adapter, (cur_network->network.ies) + sizeof(struct ndis_802_11_fix_ie), (cur_network->network.ie_length - sizeof(struct ndis_802_11_fix_ie))); - rtw_update_ht_cap(padapter, cur_network->network.ies, cur_network->network.ie_length, (u8) cur_network->network.configuration.ds_config); + rtw_update_ht_cap(adapter, cur_network->network.ies, cur_network->network.ie_length, (u8) cur_network->network.configuration.ds_config); } -static struct rt_pmkid_list backupPMKIDList[NUM_PMKID_CACHE]; +static struct rt_pmkid_list backup_pmkid_list[NUM_PMKID_CACHE]; void rtw_reset_securitypriv(struct adapter *adapter) { - u8 backupPMKIDIndex = 0; - u8 backupTKIPCountermeasure = 0x00; - u32 backupTKIPcountermeasure_time = 0; + u8 backup_pmkid_index = 0; + u8 backup_tkip_countermeasure = 0x00; + u32 backup_tkip_countermeasure_time = 0; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; spin_lock_bh(&adapter->security_key_mutex); @@ -1092,14 +1094,13 @@ void rtw_reset_securitypriv(struct adapter *adapter) /* 802.1x */ /* Added by Albert 2009/02/18 */ /* We have to backup the PMK information for WiFi PMK Caching test item. */ - /* */ /* Backup the btkip_countermeasure information. */ /* When the countermeasure is trigger, the driver have to disconnect with AP for 60 seconds. */ - memcpy(&backupPMKIDList[0], &adapter->securitypriv.PMKIDList[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE); - backupPMKIDIndex = adapter->securitypriv.PMKIDIndex; - backupTKIPCountermeasure = adapter->securitypriv.btkip_countermeasure; - backupTKIPcountermeasure_time = adapter->securitypriv.btkip_countermeasure_time; + memcpy(&backup_pmkid_list[0], &adapter->securitypriv.PMKIDList[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE); + backup_pmkid_index = adapter->securitypriv.PMKIDIndex; + backup_tkip_countermeasure = adapter->securitypriv.btkip_countermeasure; + backup_tkip_countermeasure_time = adapter->securitypriv.btkip_countermeasure_time; /* reset RX BIP packet number */ pmlmeext->mgnt_80211w_IPN_rx = 0; @@ -1108,10 +1109,10 @@ void rtw_reset_securitypriv(struct adapter *adapter) /* Added by Albert 2009/02/18 */ /* Restore the PMK information to securitypriv structure for the following connection. */ - memcpy(&adapter->securitypriv.PMKIDList[0], &backupPMKIDList[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE); - adapter->securitypriv.PMKIDIndex = backupPMKIDIndex; - adapter->securitypriv.btkip_countermeasure = backupTKIPCountermeasure; - adapter->securitypriv.btkip_countermeasure_time = backupTKIPcountermeasure_time; + memcpy(&adapter->securitypriv.PMKIDList[0], &backup_pmkid_list[0], sizeof(struct rt_pmkid_list) * NUM_PMKID_CACHE); + adapter->securitypriv.PMKIDIndex = backup_pmkid_index; + adapter->securitypriv.btkip_countermeasure = backup_tkip_countermeasure; + adapter->securitypriv.btkip_countermeasure_time = backup_tkip_countermeasure_time; adapter->securitypriv.ndisauthtype = Ndis802_11AuthModeOpen; adapter->securitypriv.ndisencryptstatus = Ndis802_11WEPDisabled; @@ -1119,7 +1120,6 @@ void rtw_reset_securitypriv(struct adapter *adapter) } else { /* reset values in securitypriv */ /* if (adapter->mlmepriv.fw_state & WIFI_STATION_STATE) */ - /* */ struct security_priv *psec_priv = &adapter->securitypriv; psec_priv->dot11_auth_algrthm = dot11_auth_algrthm_open; /* open system */ @@ -1131,7 +1131,6 @@ void rtw_reset_securitypriv(struct adapter *adapter) psec_priv->ndisauthtype = Ndis802_11AuthModeOpen; psec_priv->ndisencryptstatus = Ndis802_11WEPDisabled; - /* */ } spin_unlock_bh(&adapter->security_key_mutex); } @@ -1142,14 +1141,13 @@ void rtw_reset_securitypriv(struct adapter *adapter) /* if join_res > 0, for (fw_state ==WIFI_STATION_STATE), we check if "ptarget_sta" & "ptarget_wlan" exist. */ /* if join_res > 0, for (fw_state ==WIFI_ADHOC_STATE), we only check if "ptarget_wlan" exist. */ /* if join_res > 0, update "cur_network->network" from "pnetwork->network" if (ptarget_wlan != NULL). */ -/* */ -void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf) +void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *buf) { struct sta_info *ptarget_sta = NULL, *pcur_sta = NULL; struct sta_priv *pstapriv = &adapter->stapriv; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct wlan_network *pnetwork = (struct wlan_network *)pbuf; - struct wlan_network *cur_network = &pmlmepriv->cur_network; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct wlan_network *pnetwork = (struct wlan_network *)buf; + struct wlan_network *cur_network = &mlme_priv->cur_network; struct wlan_network *pcur_wlan = NULL, *ptarget_wlan = NULL; unsigned int the_same_macaddr = false; @@ -1159,43 +1157,43 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf) if (pnetwork->network.length > sizeof(struct wlan_bssid_ex)) return; - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); - pmlmepriv->link_detect_info.traffic_transition_count = 0; - pmlmepriv->link_detect_info.low_power_transition_count = 0; + mlme_priv->link_detect_info.traffic_transition_count = 0; + mlme_priv->link_detect_info.low_power_transition_count = 0; if (pnetwork->join_res == -4) { rtw_reset_securitypriv(adapter); - _set_timer(&pmlmepriv->assoc_timer, 1); + _set_timer(&mlme_priv->assoc_timer, 1); - if (check_fwstate(pmlmepriv, _FW_UNDER_LINKING)) - _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); + if (check_fwstate(mlme_priv, _FW_UNDER_LINKING)) + _clr_fwstate_(mlme_priv, _FW_UNDER_LINKING); - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); return; } if (pnetwork->join_res <= 0) { /* if join_res < 0 (join fails), then try again */ - _set_timer(&pmlmepriv->assoc_timer, 1); - _clr_fwstate_(pmlmepriv, _FW_UNDER_LINKING); - spin_unlock_bh(&pmlmepriv->lock); + _set_timer(&mlme_priv->assoc_timer, 1); + _clr_fwstate_(mlme_priv, _FW_UNDER_LINKING); + spin_unlock_bh(&mlme_priv->lock); return; } - spin_lock_bh(&pmlmepriv->scanned_queue.lock); + spin_lock_bh(&mlme_priv->scanned_queue.lock); - if (!check_fwstate(pmlmepriv, _FW_UNDER_LINKING)) { - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); - spin_unlock_bh(&pmlmepriv->lock); + if (!check_fwstate(mlme_priv, _FW_UNDER_LINKING)) { + spin_unlock_bh(&mlme_priv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->lock); return; } /* s1. find ptarget_wlan */ - if (check_fwstate(pmlmepriv, _FW_LINKED)) { + if (check_fwstate(mlme_priv, _FW_LINKED)) { if (the_same_macaddr) { - ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, cur_network->network.mac_address); + ptarget_wlan = rtw_find_network(&mlme_priv->scanned_queue, cur_network->network.mac_address); } else { - pcur_wlan = rtw_find_network(&pmlmepriv->scanned_queue, cur_network->network.mac_address); + pcur_wlan = rtw_find_network(&mlme_priv->scanned_queue, cur_network->network.mac_address); if (pcur_wlan) pcur_wlan->fixed = false; @@ -1203,15 +1201,15 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf) if (pcur_sta) rtw_free_stainfo(adapter, pcur_sta); - ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, pnetwork->network.mac_address); - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + ptarget_wlan = rtw_find_network(&mlme_priv->scanned_queue, pnetwork->network.mac_address); + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { if (ptarget_wlan) ptarget_wlan->fixed = true; } } } else { - ptarget_wlan = _rtw_find_same_network(&pmlmepriv->scanned_queue, pnetwork); - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + ptarget_wlan = _rtw_find_same_network(&mlme_priv->scanned_queue, pnetwork); + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { if (ptarget_wlan) ptarget_wlan->fixed = true; } @@ -1221,39 +1219,39 @@ void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf) if (!ptarget_wlan) { netdev_dbg(adapter->pnetdev, "Can't find ptarget_wlan when joinbss_event callback\n"); - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->lock); return; } rtw_joinbss_update_network(adapter, ptarget_wlan, pnetwork); /* s3. find ptarget_sta & update ptarget_sta after update cur_network only for station mode */ - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { ptarget_sta = rtw_joinbss_update_stainfo(adapter, pnetwork); if (!ptarget_sta) { - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->lock); return; } } /* s4. indicate connect */ - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { - pmlmepriv->cur_network_scanned = ptarget_wlan; + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { + mlme_priv->cur_network_scanned = ptarget_wlan; rtw_indicate_connect(adapter); } - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); /* s5. Cancel assoc_timer */ - timer_delete_sync(&pmlmepriv->assoc_timer); + timer_delete_sync(&mlme_priv->assoc_timer); } -void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_joinbss_event_callback(struct adapter *adapter, u8 *buf) { - struct wlan_network *pnetwork = (struct wlan_network *)pbuf; + struct wlan_network *pnetwork = (struct wlan_network *)buf; mlmeext_joinbss_event_callback(adapter, pnetwork->join_res); @@ -1272,18 +1270,18 @@ void rtw_sta_media_status_rpt(struct adapter *adapter, struct sta_info *psta, u3 rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status_rpt); } -void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_stassoc_event_callback(struct adapter *adapter, u8 *buf) { struct sta_info *psta; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct stassoc_event *pstassoc = (struct stassoc_event *)pbuf; - struct wlan_network *cur_network = &pmlmepriv->cur_network; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct stassoc_event *pstassoc = (struct stassoc_event *)buf; + struct wlan_network *cur_network = &mlme_priv->cur_network; struct wlan_network *ptarget_wlan = NULL; if (!rtw_access_ctrl(adapter, pstassoc->macaddr)) return; - if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) { + if (check_fwstate(mlme_priv, WIFI_AP_STATE)) { psta = rtw_get_stainfo(&adapter->stapriv, pstassoc->macaddr); if (psta) { u8 *passoc_req = NULL; @@ -1338,41 +1336,41 @@ void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf) rtw_sta_media_status_rpt(adapter, psta, 1); if (adapter->securitypriv.dot11_auth_algrthm == dot11_auth_algrthm_8021x) - psta->dot118021XPrivacy = adapter->securitypriv.dot11_privacy_algrthm; + psta->dot118021_x_privacy = adapter->securitypriv.dot11_privacy_algrthm; psta->ieee8021x_blocked = false; - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) || - check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE) || + check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { if (adapter->stapriv.asoc_sta_count == 2) { - spin_lock_bh(&pmlmepriv->scanned_queue.lock); - ptarget_wlan = rtw_find_network(&pmlmepriv->scanned_queue, cur_network->network.mac_address); - pmlmepriv->cur_network_scanned = ptarget_wlan; + spin_lock_bh(&mlme_priv->scanned_queue.lock); + ptarget_wlan = rtw_find_network(&mlme_priv->scanned_queue, cur_network->network.mac_address); + mlme_priv->cur_network_scanned = ptarget_wlan; if (ptarget_wlan) ptarget_wlan->fixed = true; - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); /* a sta + bc/mc_stainfo (not Ibss_stainfo) */ rtw_indicate_connect(adapter); } } - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); mlmeext_sta_add_event_callback(adapter, psta); } -void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf) +void rtw_stadel_event_callback(struct adapter *adapter, u8 *buf) { int mac_id = (-1); struct sta_info *psta; struct wlan_network *pwlan = NULL; - struct wlan_bssid_ex *pdev_network = NULL; - u8 *pibss = NULL; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; - struct stadel_event *pstadel = (struct stadel_event *)pbuf; - struct wlan_network *tgt_network = &pmlmepriv->cur_network; + struct wlan_bssid_ex *dev_network = NULL; + u8 *ibss = NULL; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct stadel_event *pstadel = (struct stadel_event *)buf; + struct wlan_network *tgt_network = &mlme_priv->cur_network; struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; @@ -1390,15 +1388,15 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf) rtw_hal_set_hwreg(adapter, HW_VAR_H2C_MEDIA_STATUS_RPT, (u8 *)&media_status); } - /* if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) */ + /* if (check_fwstate(mlme_priv, WIFI_AP_STATE)) */ if ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE) return; mlmeext_sta_del_event_callback(adapter); - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { u16 reason = *((unsigned short *)(pstadel->rsvd)); bool roam = false; struct wlan_network *roam_target = NULL; @@ -1409,7 +1407,7 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf) roam = true; } else if (reason == WLAN_REASON_ACTIVE_ROAM && rtw_chk_roam_flags(adapter, RTW_ROAM_ACTIVE)) { roam = true; - roam_target = pmlmepriv->roam_network; + roam_target = mlme_priv->roam_network; } if (roam) { @@ -1426,48 +1424,48 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf) rtw_free_assoc_resources(adapter, 1); rtw_indicate_disconnect(adapter); - spin_lock_bh(&pmlmepriv->scanned_queue.lock); + spin_lock_bh(&mlme_priv->scanned_queue.lock); /* remove the network entry in scanned_queue */ - pwlan = rtw_find_network(&pmlmepriv->scanned_queue, tgt_network->network.mac_address); + pwlan = rtw_find_network(&mlme_priv->scanned_queue, tgt_network->network.mac_address); if (pwlan) { pwlan->fixed = false; rtw_free_network_nolock(adapter, pwlan); } - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); _rtw_roaming(adapter, roam_target); } - if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE) || - check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { + if (check_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE) || + check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { rtw_free_stainfo(adapter, psta); if (adapter->stapriv.asoc_sta_count == 1) {/* a sta + bc/mc_stainfo (not Ibss_stainfo) */ u8 ret = _SUCCESS; - spin_lock_bh(&pmlmepriv->scanned_queue.lock); + spin_lock_bh(&mlme_priv->scanned_queue.lock); /* free old ibss network */ - pwlan = rtw_find_network(&pmlmepriv->scanned_queue, tgt_network->network.mac_address); + pwlan = rtw_find_network(&mlme_priv->scanned_queue, tgt_network->network.mac_address); if (pwlan) { pwlan->fixed = false; rtw_free_network_nolock(adapter, pwlan); } - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); /* re-create ibss */ - pdev_network = &adapter->registrypriv.dev_network; - pibss = adapter->registrypriv.dev_network.mac_address; + dev_network = &adapter->registrypriv.dev_network; + ibss = adapter->registrypriv.dev_network.mac_address; - memcpy(pdev_network, &tgt_network->network, get_wlan_bssid_ex_sz(&tgt_network->network)); + memcpy(dev_network, &tgt_network->network, get_wlan_bssid_ex_sz(&tgt_network->network)); - memcpy(&pdev_network->ssid, &pmlmepriv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); + memcpy(&dev_network->ssid, &mlme_priv->assoc_ssid, sizeof(struct ndis_802_11_ssid)); rtw_update_registrypriv_dev_network(adapter); - rtw_generate_random_ibss(pibss); + rtw_generate_random_ibss(ibss); - if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { - set_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE); - _clr_fwstate_(pmlmepriv, WIFI_ADHOC_STATE); + if (check_fwstate(mlme_priv, WIFI_ADHOC_STATE)) { + set_fwstate(mlme_priv, WIFI_ADHOC_MASTER_STATE); + _clr_fwstate_(mlme_priv, WIFI_ADHOC_STATE); } ret = rtw_createbss_cmd(adapter); @@ -1477,21 +1475,21 @@ void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf) } unlock: - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); } -void rtw_cpwm_event_callback(struct adapter *padapter, u8 *pbuf) +void rtw_cpwm_event_callback(struct adapter *adapter, u8 *buf) { struct reportpwrstate_parm *preportpwrstate; - preportpwrstate = (struct reportpwrstate_parm *)pbuf; - preportpwrstate->state |= (u8)(adapter_to_pwrctl(padapter)->cpwm_tog + 0x80); - cpwm_int_hdl(padapter, preportpwrstate); + preportpwrstate = (struct reportpwrstate_parm *)buf; + preportpwrstate->state |= (u8)(adapter_to_pwrctl(adapter)->cpwm_tog + 0x80); + cpwm_int_hdl(adapter, preportpwrstate); } -void rtw_wmm_event_callback(struct adapter *padapter, u8 *pbuf) +void rtw_wmm_event_callback(struct adapter *adapter, u8 *buf) { - WMMOnAssocRsp(padapter); + WMMOnAssocRsp(adapter); } /* @@ -1502,12 +1500,12 @@ void _rtw_join_timeout_handler(struct timer_list *t) { struct adapter *adapter = timer_container_of(adapter, t, mlmepriv.assoc_timer); - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; if (adapter->driver_stopped || adapter->bSurpriseRemoved) return; - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); if (rtw_to_roam(adapter) > 0) { /* join timeout caused by roaming */ while (1) { @@ -1528,13 +1526,13 @@ void _rtw_join_timeout_handler(struct timer_list *t) } else { rtw_indicate_disconnect(adapter); - free_scanqueue(pmlmepriv);/* */ + free_scanqueue(mlme_priv); /* indicate disconnect for the case that join_timeout and check_fwstate != FW_LINKED */ rtw_cfg80211_indicate_disconnect(adapter); } - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); } /* @@ -1545,13 +1543,13 @@ void rtw_scan_timeout_handler(struct timer_list *t) { struct adapter *adapter = timer_container_of(adapter, t, mlmepriv.scan_to_timer); - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - spin_lock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); - _clr_fwstate_(pmlmepriv, _FW_UNDER_SURVEY); + _clr_fwstate_(mlme_priv, _FW_UNDER_SURVEY); - spin_unlock_bh(&pmlmepriv->lock); + spin_unlock_bh(&mlme_priv->lock); rtw_indicate_scan_done(adapter, true); } @@ -1575,23 +1573,23 @@ void rtw_mlme_reset_auto_scan_int(struct adapter *adapter) } } -static void rtw_auto_scan_handler(struct adapter *padapter) +static void rtw_auto_scan_handler(struct adapter *adapter) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - rtw_mlme_reset_auto_scan_int(padapter); + rtw_mlme_reset_auto_scan_int(adapter); - if (pmlmepriv->auto_scan_int_ms != 0 && - jiffies_to_msecs(jiffies - pmlmepriv->scan_start_time) > pmlmepriv->auto_scan_int_ms) { - if (!padapter->registrypriv.wifi_spec) { - if (check_fwstate(pmlmepriv, _FW_UNDER_SURVEY | _FW_UNDER_LINKING)) + if (mlme_priv->auto_scan_int_ms != 0 && + jiffies_to_msecs(jiffies - mlme_priv->scan_start_time) > mlme_priv->auto_scan_int_ms) { + if (!adapter->registrypriv.wifi_spec) { + if (check_fwstate(mlme_priv, _FW_UNDER_SURVEY | _FW_UNDER_LINKING)) goto exit; - if (pmlmepriv->link_detect_info.busy_traffic) + if (mlme_priv->link_detect_info.busy_traffic) goto exit; } - rtw_set_802_11_bssid_list_scan(padapter, NULL, 0); + rtw_set_802_11_bssid_list_scan(adapter, NULL, 0); } exit: @@ -1624,7 +1622,7 @@ void rtw_dynamic_check_timer_handler(struct adapter *adapter) /* rtw_lps_ctrl_wk_cmd(adapter, LPS_CTRL_ENTER, 1); */ rtw_hal_dm_watchdog_in_lps(adapter); } else { - /* call rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_LEAVE, 1) in traffic_status_watchdog() */ + /* call rtw_lps_ctrl_wk_cmd(adapter, LPS_CTRL_LEAVE, 1) in traffic_status_watchdog() */ } } else { @@ -1786,34 +1784,34 @@ exit: * Calling context: * The caller of the sub-routine will be in critical section... * The caller must hold the following spinlock - * pmlmepriv->lock + * mlme_priv->lock */ -int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv) +int rtw_select_and_join_from_scanned_queue(struct mlme_priv *mlme_priv) { int ret; struct list_head *phead; struct adapter *adapter; - struct __queue *queue = &pmlmepriv->scanned_queue; + struct __queue *queue = &mlme_priv->scanned_queue; struct wlan_network *pnetwork = NULL; struct wlan_network *candidate = NULL; - adapter = (struct adapter *)pmlmepriv->nic_hdl; + adapter = (struct adapter *)mlme_priv->nic_hdl; - spin_lock_bh(&pmlmepriv->scanned_queue.lock); + spin_lock_bh(&mlme_priv->scanned_queue.lock); - if (pmlmepriv->roam_network) { - candidate = pmlmepriv->roam_network; - pmlmepriv->roam_network = NULL; + if (mlme_priv->roam_network) { + candidate = mlme_priv->roam_network; + mlme_priv->roam_network = NULL; goto candidate_exist; } phead = get_list_head(queue); - list_for_each(pmlmepriv->pscanned, phead) { - pnetwork = list_entry(pmlmepriv->pscanned, + list_for_each(mlme_priv->pscanned, phead) { + pnetwork = list_entry(mlme_priv->pscanned, struct wlan_network, list); - rtw_check_join_candidate(pmlmepriv, &candidate, pnetwork); + rtw_check_join_candidate(mlme_priv, &candidate, pnetwork); } if (!candidate) { @@ -1826,17 +1824,17 @@ int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv) candidate_exist: /* check for situation of _FW_LINKED */ - if (check_fwstate(pmlmepriv, _FW_LINKED)) { + if (check_fwstate(mlme_priv, _FW_LINKED)) { rtw_disassoc_cmd(adapter, 0, true); rtw_indicate_disconnect(adapter); rtw_free_assoc_resources(adapter, 0); } - set_fwstate(pmlmepriv, _FW_UNDER_LINKING); + set_fwstate(mlme_priv, _FW_UNDER_LINKING); ret = rtw_joinbss_cmd(adapter, candidate); exit: - spin_unlock_bh(&pmlmepriv->scanned_queue.lock); + spin_unlock_bh(&mlme_priv->scanned_queue.lock); return ret; } @@ -1921,14 +1919,14 @@ signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecurityp break; default: res = _FAIL; - kfree(psetkeyparm); + kfree_sensitive(psetkeyparm); goto exit; } if (enqueue) { pcmd = kzalloc_obj(*pcmd); if (!pcmd) { - kfree(psetkeyparm); + kfree_sensitive(psetkeyparm); res = _FAIL; /* try again */ goto exit; } @@ -1944,7 +1942,7 @@ signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecurityp res = rtw_enqueue_cmd(pcmdpriv, pcmd); } else { setkey_hdl(adapter, (u8 *)psetkeyparm); - kfree(psetkeyparm); + kfree_sensitive(psetkeyparm); } exit: return res; @@ -2006,15 +2004,13 @@ static int SecIsInPMKIDList(struct adapter *Adapter, u8 *bssid) return -1; } -/* */ /* Check the RSN IE length */ /* If the RSN IE length <= 20, the RSN IE didn't include the PMKID information */ /* 0-11th element in the array are the fixed IE */ /* 12th element in the array is the IE */ /* 13th element in the array is the IE length */ -/* */ -static int rtw_append_pmkid(struct adapter *Adapter, int iEntry, u8 *ie, uint ie_len) +static int rtw_append_pmkid(struct adapter *Adapter, int pmkid_idx, u8 *ie, uint ie_len) { struct security_priv *psecuritypriv = &Adapter->securitypriv; @@ -2024,7 +2020,7 @@ static int rtw_append_pmkid(struct adapter *Adapter, int iEntry, u8 *ie, uint ie ie_len++; ie[ie_len] = 0; /* PMKID count = 0x0100 */ ie_len++; - memcpy(&ie[ie_len], &psecuritypriv->PMKIDList[iEntry].PMKID, 16); + memcpy(&ie[ie_len], &psecuritypriv->PMKIDList[pmkid_idx].PMKID, 16); ie_len += 16; ie[13] += 18;/* PMKID length = 2+16 */ } @@ -2068,9 +2064,9 @@ signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, u { u8 authmode = 0x0; uint ielength; - int iEntry; + int pmkid_idx; - struct mlme_priv *pmlmepriv = &adapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; struct security_priv *psecuritypriv = &adapter->securitypriv; uint ndisauthmode = psecuritypriv->ndisauthtype; @@ -2082,7 +2078,7 @@ signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, u if ((ndisauthmode == Ndis802_11AuthModeWPA2) || (ndisauthmode == Ndis802_11AuthModeWPA2PSK)) authmode = WLAN_EID_RSN; - if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS)) { + if (check_fwstate(mlme_priv, WIFI_UNDER_WPS)) { memcpy(out_ie + ielength, psecuritypriv->wps_ie, psecuritypriv->wps_ie_len); ielength += psecuritypriv->wps_ie_len; @@ -2093,175 +2089,175 @@ signed int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, u rtw_report_sec_ie(adapter, authmode, psecuritypriv->supplicant_ie); } - iEntry = SecIsInPMKIDList(adapter, pmlmepriv->assoc_bssid); - if (iEntry < 0) + pmkid_idx = SecIsInPMKIDList(adapter, mlme_priv->assoc_bssid); + if (pmkid_idx < 0) return ielength; if (authmode == WLAN_EID_RSN) - ielength = rtw_append_pmkid(adapter, iEntry, out_ie, ielength); + ielength = rtw_append_pmkid(adapter, pmkid_idx, out_ie, ielength); return ielength; } void rtw_init_registrypriv_dev_network(struct adapter *adapter) { - struct registry_priv *pregistrypriv = &adapter->registrypriv; + struct registry_priv *registry_priv = &adapter->registrypriv; struct eeprom_priv *peepriv = &adapter->eeprompriv; - struct wlan_bssid_ex *pdev_network = &pregistrypriv->dev_network; + struct wlan_bssid_ex *dev_network = ®istry_priv->dev_network; u8 *myhwaddr = myid(peepriv); - memcpy(pdev_network->mac_address, myhwaddr, ETH_ALEN); + memcpy(dev_network->mac_address, myhwaddr, ETH_ALEN); - memcpy(&pdev_network->ssid, &pregistrypriv->ssid, sizeof(struct ndis_802_11_ssid)); + memcpy(&dev_network->ssid, ®istry_priv->ssid, sizeof(struct ndis_802_11_ssid)); - pdev_network->configuration.length = sizeof(struct ndis_802_11_conf); - pdev_network->configuration.beacon_period = 100; + dev_network->configuration.length = sizeof(struct ndis_802_11_conf); + dev_network->configuration.beacon_period = 100; } void rtw_update_registrypriv_dev_network(struct adapter *adapter) { int sz = 0; - struct registry_priv *pregistrypriv = &adapter->registrypriv; - struct wlan_bssid_ex *pdev_network = &pregistrypriv->dev_network; + struct registry_priv *registry_priv = &adapter->registrypriv; + struct wlan_bssid_ex *dev_network = ®istry_priv->dev_network; struct security_priv *psecuritypriv = &adapter->securitypriv; struct wlan_network *cur_network = &adapter->mlmepriv.cur_network; - pdev_network->privacy = (psecuritypriv->dot11_privacy_algrthm > 0 ? 1 : 0) ; /* adhoc no 802.1x */ + dev_network->privacy = (psecuritypriv->dot11_privacy_algrthm > 0 ? 1 : 0) ; /* adhoc no 802.1x */ - pdev_network->rssi = 0; + dev_network->rssi = 0; - pdev_network->configuration.ds_config = (pregistrypriv->channel); + dev_network->configuration.ds_config = (registry_priv->channel); if (cur_network->network.infrastructure_mode == NL80211_IFTYPE_ADHOC) - pdev_network->configuration.atim_window = (0); + dev_network->configuration.atim_window = (0); - pdev_network->infrastructure_mode = (cur_network->network.infrastructure_mode); + dev_network->infrastructure_mode = (cur_network->network.infrastructure_mode); /* 1. Supported rates */ /* 2. IE */ - /* rtw_set_supported_rate(pdev_network->supported_rates, pregistrypriv->wireless_mode) ; will be called in rtw_generate_ie */ - sz = rtw_generate_ie(pregistrypriv); + /* rtw_set_supported_rate(dev_network->supported_rates, registry_priv->wireless_mode) ; will be called in rtw_generate_ie */ + sz = rtw_generate_ie(registry_priv); - pdev_network->ie_length = sz; + dev_network->ie_length = sz; - pdev_network->length = get_wlan_bssid_ex_sz((struct wlan_bssid_ex *)pdev_network); + dev_network->length = get_wlan_bssid_ex_sz((struct wlan_bssid_ex *)dev_network); /* notes: translate ie_length & length after assign the length to cmdsz in createbss_cmd(); */ - /* pdev_network->ie_length = cpu_to_le32(sz); */ + /* dev_network->ie_length = cpu_to_le32(sz); */ } /* the function is at passive_level */ -void rtw_joinbss_reset(struct adapter *padapter) +void rtw_joinbss_reset(struct adapter *adapter) { u8 threshold; - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - struct ht_priv *phtpriv = &pmlmepriv->htpriv; + struct ht_priv *ht_priv = &mlme_priv->htpriv; /* todo: if you want to do something io/reg/hw setting before join_bss, please add code here */ - pmlmepriv->num_FortyMHzIntolerant = 0; + mlme_priv->num_FortyMHzIntolerant = 0; - pmlmepriv->num_sta_no_ht = 0; + mlme_priv->num_sta_no_ht = 0; - phtpriv->ampdu_enable = false;/* reset to disabled */ + ht_priv->ampdu_enable = false;/* reset to disabled */ /* TH = 1 => means that invalidate usb rx aggregation */ /* TH = 0 => means that validate usb rx aggregation, use init value. */ - if (phtpriv->ht_option) { - if (padapter->registrypriv.wifi_spec == 1) + if (ht_priv->ht_option) { + if (adapter->registrypriv.wifi_spec == 1) threshold = 1; else threshold = 0; - rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold)); + rtw_hal_set_hwreg(adapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold)); } else { threshold = 1; - rtw_hal_set_hwreg(padapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold)); + rtw_hal_set_hwreg(adapter, HW_VAR_RXDMA_AGG_PG_TH, (u8 *)(&threshold)); } } -void rtw_ht_use_default_setting(struct adapter *padapter) +void rtw_ht_use_default_setting(struct adapter *adapter) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct ht_priv *phtpriv = &pmlmepriv->htpriv; - struct registry_priv *pregistrypriv = &padapter->registrypriv; - bool bHwLDPCSupport = false, bHwSTBCSupport = false; - bool bHwSupportBeamformer = false, bHwSupportBeamformee = false; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct ht_priv *ht_priv = &mlme_priv->htpriv; + struct registry_priv *registry_priv = &adapter->registrypriv; + bool hw_ldpc_support = false, hw_stbc_support = false; + bool hw_support_beamformer = false, hw_support_beamformee = false; - if (pregistrypriv->wifi_spec) - phtpriv->bss_coexist = 1; + if (registry_priv->wifi_spec) + ht_priv->bss_coexist = 1; else - phtpriv->bss_coexist = 0; + ht_priv->bss_coexist = 0; - phtpriv->sgi_40m = TEST_FLAG(pregistrypriv->short_gi, BIT(1)) ? true : false; - phtpriv->sgi_20m = TEST_FLAG(pregistrypriv->short_gi, BIT(0)) ? true : false; + ht_priv->sgi_40m = TEST_FLAG(registry_priv->short_gi, BIT(1)) ? true : false; + ht_priv->sgi_20m = TEST_FLAG(registry_priv->short_gi, BIT(0)) ? true : false; /* LDPC support */ - rtw_hal_get_def_var(padapter, HAL_DEF_RX_LDPC, (u8 *)&bHwLDPCSupport); - CLEAR_FLAGS(phtpriv->ldpc_cap); - if (bHwLDPCSupport) { - if (TEST_FLAG(pregistrypriv->ldpc_cap, BIT(4))) - SET_FLAG(phtpriv->ldpc_cap, LDPC_HT_ENABLE_RX); + rtw_hal_get_def_var(adapter, HAL_DEF_RX_LDPC, (u8 *)&hw_ldpc_support); + CLEAR_FLAGS(ht_priv->ldpc_cap); + if (hw_ldpc_support) { + if (TEST_FLAG(registry_priv->ldpc_cap, BIT(4))) + SET_FLAG(ht_priv->ldpc_cap, LDPC_HT_ENABLE_RX); } - rtw_hal_get_def_var(padapter, HAL_DEF_TX_LDPC, (u8 *)&bHwLDPCSupport); - if (bHwLDPCSupport) { - if (TEST_FLAG(pregistrypriv->ldpc_cap, BIT(5))) - SET_FLAG(phtpriv->ldpc_cap, LDPC_HT_ENABLE_TX); + rtw_hal_get_def_var(adapter, HAL_DEF_TX_LDPC, (u8 *)&hw_ldpc_support); + if (hw_ldpc_support) { + if (TEST_FLAG(registry_priv->ldpc_cap, BIT(5))) + SET_FLAG(ht_priv->ldpc_cap, LDPC_HT_ENABLE_TX); } /* STBC */ - rtw_hal_get_def_var(padapter, HAL_DEF_TX_STBC, (u8 *)&bHwSTBCSupport); - CLEAR_FLAGS(phtpriv->stbc_cap); - if (bHwSTBCSupport) { - if (TEST_FLAG(pregistrypriv->stbc_cap, BIT(5))) - SET_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_TX); + rtw_hal_get_def_var(adapter, HAL_DEF_TX_STBC, (u8 *)&hw_stbc_support); + CLEAR_FLAGS(ht_priv->stbc_cap); + if (hw_stbc_support) { + if (TEST_FLAG(registry_priv->stbc_cap, BIT(5))) + SET_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_TX); } - rtw_hal_get_def_var(padapter, HAL_DEF_RX_STBC, (u8 *)&bHwSTBCSupport); - if (bHwSTBCSupport) { - if (TEST_FLAG(pregistrypriv->stbc_cap, BIT(4))) - SET_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_RX); + rtw_hal_get_def_var(adapter, HAL_DEF_RX_STBC, (u8 *)&hw_stbc_support); + if (hw_stbc_support) { + if (TEST_FLAG(registry_priv->stbc_cap, BIT(4))) + SET_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_RX); } /* Beamforming setting */ - rtw_hal_get_def_var(padapter, HAL_DEF_EXPLICIT_BEAMFORMER, (u8 *)&bHwSupportBeamformer); - rtw_hal_get_def_var(padapter, HAL_DEF_EXPLICIT_BEAMFORMEE, (u8 *)&bHwSupportBeamformee); - CLEAR_FLAGS(phtpriv->beamform_cap); - if (TEST_FLAG(pregistrypriv->beamform_cap, BIT(4)) && bHwSupportBeamformer) - SET_FLAG(phtpriv->beamform_cap, BEAMFORMING_HT_BEAMFORMER_ENABLE); + rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMER, (u8 *)&hw_support_beamformer); + rtw_hal_get_def_var(adapter, HAL_DEF_EXPLICIT_BEAMFORMEE, (u8 *)&hw_support_beamformee); + CLEAR_FLAGS(ht_priv->beamform_cap); + if (TEST_FLAG(registry_priv->beamform_cap, BIT(4)) && hw_support_beamformer) + SET_FLAG(ht_priv->beamform_cap, BEAMFORMING_HT_BEAMFORMER_ENABLE); - if (TEST_FLAG(pregistrypriv->beamform_cap, BIT(5)) && bHwSupportBeamformee) - SET_FLAG(phtpriv->beamform_cap, BEAMFORMING_HT_BEAMFORMEE_ENABLE); + if (TEST_FLAG(registry_priv->beamform_cap, BIT(5)) && hw_support_beamformee) + SET_FLAG(ht_priv->beamform_cap, BEAMFORMING_HT_BEAMFORMEE_ENABLE); } -void rtw_build_wmm_ie_ht(struct adapter *padapter, u8 *out_ie, uint *pout_len) +void rtw_build_wmm_ie_ht(struct adapter *adapter, u8 *out_ie, uint *pout_len) { unsigned char WMM_IE[] = {0x00, 0x50, 0xf2, 0x02, 0x00, 0x01, 0x00}; int out_len; - if (padapter->mlmepriv.qospriv.qos_option == 0) { + if (adapter->mlmepriv.qospriv.qos_option == 0) { out_len = *pout_len; rtw_set_ie(out_ie + out_len, WLAN_EID_VENDOR_SPECIFIC, _WMM_IE_Length_, WMM_IE, pout_len); - padapter->mlmepriv.qospriv.qos_option = 1; + adapter->mlmepriv.qospriv.qos_option = 1; } } /* the function is >= passive_level */ -unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len, u8 channel) +unsigned int rtw_restructure_ht_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len, uint *pout_len, u8 channel) { u32 ielen, out_len; enum ieee80211_max_ampdu_length_exp max_rx_ampdu_factor; unsigned char *p; struct ieee80211_ht_cap ht_capie; u8 cbw40_enable = 0, stbc_rx_enable = 0, operation_bw = 0; - struct registry_priv *pregistrypriv = &padapter->registrypriv; - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct ht_priv *phtpriv = &pmlmepriv->htpriv; - struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; + struct registry_priv *registry_priv = &adapter->registrypriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct ht_priv *ht_priv = &mlme_priv->htpriv; + struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; - phtpriv->ht_option = false; + ht_priv->ht_option = false; out_len = *pout_len; @@ -2269,14 +2265,14 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ ht_capie.cap_info = cpu_to_le16(IEEE80211_HT_CAP_DSSSCCK40); - if (phtpriv->sgi_20m) + if (ht_priv->sgi_20m) ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SGI_20); /* Get HT BW */ if (!in_ie) { /* TDLS: TODO 20/40 issue */ - if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { - operation_bw = padapter->mlmeextpriv.cur_bwmode; + if (check_fwstate(mlme_priv, WIFI_STATION_STATE)) { + operation_bw = adapter->mlmeextpriv.cur_bwmode; if (operation_bw > CHANNEL_WIDTH_40) operation_bw = CHANNEL_WIDTH_40; } else { @@ -2305,24 +2301,24 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ } /* to disable 40M Hz support while gd_bw_40MHz_en = 0 */ - if ((pregistrypriv->bw_mode & 0x0f) > 0) + if ((registry_priv->bw_mode & 0x0f) > 0) cbw40_enable = 1; if ((cbw40_enable == 1) && (operation_bw == CHANNEL_WIDTH_40)) { ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SUP_WIDTH); - if (phtpriv->sgi_40m) + if (ht_priv->sgi_40m) ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SGI_40); } - if (TEST_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_TX)) + if (TEST_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_TX)) ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_TX_STBC); /* todo: disable SM power save mode */ ht_capie.cap_info |= cpu_to_le16(IEEE80211_HT_CAP_SM_PS); - if (TEST_FLAG(phtpriv->stbc_cap, STBC_HT_ENABLE_RX)) { - if ((channel <= 14 && pregistrypriv->rx_stbc == 0x1) || /* enable for 2.4GHz */ - (pregistrypriv->wifi_spec == 1)) + if (TEST_FLAG(ht_priv->stbc_cap, STBC_HT_ENABLE_RX)) { + if ((channel <= 14 && registry_priv->rx_stbc == 0x1) || /* enable for 2.4GHz */ + (registry_priv->wifi_spec == 1)) stbc_rx_enable = 1; } @@ -2338,20 +2334,20 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ { u32 rx_packet_offset, max_recvbuf_sz; - rtw_hal_get_def_var(padapter, HAL_DEF_RX_PACKET_OFFSET, &rx_packet_offset); - rtw_hal_get_def_var(padapter, HAL_DEF_MAX_RECVBUF_SZ, &max_recvbuf_sz); + rtw_hal_get_def_var(adapter, HAL_DEF_RX_PACKET_OFFSET, &rx_packet_offset); + rtw_hal_get_def_var(adapter, HAL_DEF_MAX_RECVBUF_SZ, &max_recvbuf_sz); } - if (padapter->driver_rx_ampdu_factor != 0xFF) + if (adapter->driver_rx_ampdu_factor != 0xFF) max_rx_ampdu_factor = - (enum ieee80211_max_ampdu_length_exp)padapter->driver_rx_ampdu_factor; + (enum ieee80211_max_ampdu_length_exp)adapter->driver_rx_ampdu_factor; else - rtw_hal_get_def_var(padapter, HW_VAR_MAX_RX_AMPDU_FACTOR, + rtw_hal_get_def_var(adapter, HW_VAR_MAX_RX_AMPDU_FACTOR, &max_rx_ampdu_factor); ht_capie.ampdu_params_info = (max_rx_ampdu_factor & 0x03); - if (padapter->securitypriv.dot11_privacy_algrthm == _AES_) + if (adapter->securitypriv.dot11_privacy_algrthm == _AES_) ht_capie.ampdu_params_info |= (IEEE80211_HT_CAP_AMPDU_DENSITY & (0x07 << 2)); else ht_capie.ampdu_params_info |= (IEEE80211_HT_CAP_AMPDU_DENSITY & 0x00); @@ -2359,7 +2355,7 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ rtw_set_ie(out_ie + out_len, WLAN_EID_HT_CAPABILITY, sizeof(struct ieee80211_ht_cap), (unsigned char *)&ht_capie, pout_len); - phtpriv->ht_option = true; + ht_priv->ht_option = true; if (in_ie) { p = rtw_get_ie(in_ie, WLAN_EID_HT_OPERATION, &ielen, in_len); @@ -2369,31 +2365,31 @@ unsigned int rtw_restructure_ht_ie(struct adapter *padapter, u8 *in_ie, u8 *out_ } } - return phtpriv->ht_option; + return ht_priv->ht_option; } /* the function is > passive_level (in critical_section) */ -void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channel) +void rtw_update_ht_cap(struct adapter *adapter, u8 *pie, uint ie_len, u8 channel) { u8 *p, max_ampdu_sz; int len; struct ieee80211_ht_cap *pht_capie; - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct ht_priv *phtpriv = &pmlmepriv->htpriv; - struct registry_priv *pregistrypriv = &padapter->registrypriv; - struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct ht_priv *ht_priv = &mlme_priv->htpriv; + struct registry_priv *registry_priv = &adapter->registrypriv; + struct mlme_ext_priv *pmlmeext = &adapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; u8 cbw40_enable = 0; - if (!phtpriv->ht_option) + if (!ht_priv->ht_option) return; if ((!pmlmeinfo->HT_info_enable) || (!pmlmeinfo->HT_caps_enable)) return; /* maybe needs check if ap supports rx ampdu. */ - if (!(phtpriv->ampdu_enable) && pregistrypriv->ampdu_enable == 1) - phtpriv->ampdu_enable = true; + if (!(ht_priv->ampdu_enable) && registry_priv->ampdu_enable == 1) + ht_priv->ampdu_enable = true; /* check Max Rx A-MPDU Size */ len = 0; @@ -2403,7 +2399,7 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channe max_ampdu_sz = (pht_capie->ampdu_params_info & IEEE80211_HT_CAP_AMPDU_FACTOR); max_ampdu_sz = 1 << (max_ampdu_sz + 3); /* max_ampdu_sz (kbytes); */ - phtpriv->rx_ampdu_maxlen = max_ampdu_sz; + ht_priv->rx_ampdu_maxlen = max_ampdu_sz; } len = 0; @@ -2412,7 +2408,7 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channe /* todo: */ } - if ((pregistrypriv->bw_mode & 0x0f) > 0) + if ((registry_priv->bw_mode & 0x0f) > 0) cbw40_enable = 1; /* update cur_bwmode & cur_ch_offset */ @@ -2445,34 +2441,30 @@ void rtw_update_ht_cap(struct adapter *padapter, u8 *pie, uint ie_len, u8 channe } } - /* */ /* Config SM Power Save setting */ - /* */ pmlmeinfo->SM_PS = (le16_to_cpu(pmlmeinfo->HT_caps.u.HT_cap_element.HT_caps_info) & 0x0C) >> 2; - /* */ /* Config current HT Protection mode. */ - /* */ pmlmeinfo->HT_protection = pmlmeinfo->HT_info.infos[1] & 0x3; } -void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitframe) +void rtw_issue_addbareq_cmd(struct adapter *adapter, struct xmit_frame *pxmitframe) { u8 issued; int priority; struct sta_info *psta; - struct ht_priv *phtpriv; + struct ht_priv *ht_priv; struct pkt_attrib *pattrib = &pxmitframe->attrib; s32 bmcst = is_multicast_ether_addr(pattrib->ra); - if (bmcst || (padapter->mlmepriv.link_detect_info.num_tx_ok_in_period < 100)) + if (bmcst || (adapter->mlmepriv.link_detect_info.num_tx_ok_in_period < 100)) return; priority = pattrib->priority; - psta = rtw_get_stainfo(&padapter->stapriv, pattrib->ra); + psta = rtw_get_stainfo(&adapter->stapriv, pattrib->ra); if (pattrib->psta != psta) return; @@ -2482,26 +2474,26 @@ void rtw_issue_addbareq_cmd(struct adapter *padapter, struct xmit_frame *pxmitfr if (!(psta->state & _FW_LINKED)) return; - phtpriv = &psta->htpriv; + ht_priv = &psta->htpriv; - if (phtpriv->ht_option && phtpriv->ampdu_enable) { - issued = (phtpriv->agg_enable_bitmap >> priority) & 0x1; - issued |= (phtpriv->candidate_tid_bitmap >> priority) & 0x1; + if (ht_priv->ht_option && ht_priv->ampdu_enable) { + issued = (ht_priv->agg_enable_bitmap >> priority) & 0x1; + issued |= (ht_priv->candidate_tid_bitmap >> priority) & 0x1; if (issued == 0) { psta->htpriv.candidate_tid_bitmap |= BIT((u8)priority); - rtw_addbareq_cmd(padapter, (u8) priority, pattrib->ra); + rtw_addbareq_cmd(adapter, (u8) priority, pattrib->ra); } } } -void rtw_append_exented_cap(struct adapter *padapter, u8 *out_ie, uint *pout_len) +void rtw_append_exented_cap(struct adapter *adapter, u8 *out_ie, uint *pout_len) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct ht_priv *phtpriv = &pmlmepriv->htpriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct ht_priv *ht_priv = &mlme_priv->htpriv; u8 cap_content[8] = {0}; - if (phtpriv->bss_coexist) + if (ht_priv->bss_coexist) SET_EXT_CAPABILITY_ELE_BSS_COEXIST(cap_content, 1); rtw_set_ie(out_ie + *pout_len, WLAN_EID_EXT_CAPABILITY, 8, cap_content, pout_len); @@ -2525,43 +2517,43 @@ inline u8 rtw_to_roam(struct adapter *adapter) return adapter->mlmepriv.to_roam; } -void rtw_roaming(struct adapter *padapter, struct wlan_network *tgt_network) +void rtw_roaming(struct adapter *adapter, struct wlan_network *tgt_network) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; - spin_lock_bh(&pmlmepriv->lock); - _rtw_roaming(padapter, tgt_network); - spin_unlock_bh(&pmlmepriv->lock); + spin_lock_bh(&mlme_priv->lock); + _rtw_roaming(adapter, tgt_network); + spin_unlock_bh(&mlme_priv->lock); } -void _rtw_roaming(struct adapter *padapter, struct wlan_network *tgt_network) +void _rtw_roaming(struct adapter *adapter, struct wlan_network *tgt_network) { - struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct wlan_network *cur_network = &pmlmepriv->cur_network; + struct mlme_priv *mlme_priv = &adapter->mlmepriv; + struct wlan_network *cur_network = &mlme_priv->cur_network; - if (rtw_to_roam(padapter) > 0) { - memcpy(&pmlmepriv->assoc_ssid, &cur_network->network.ssid, sizeof(struct ndis_802_11_ssid)); + if (rtw_to_roam(adapter) > 0) { + memcpy(&mlme_priv->assoc_ssid, &cur_network->network.ssid, sizeof(struct ndis_802_11_ssid)); - pmlmepriv->assoc_by_bssid = false; + mlme_priv->assoc_by_bssid = false; - while (rtw_do_join(padapter) != _SUCCESS) { - rtw_dec_to_roam(padapter); - if (rtw_to_roam(padapter) <= 0) { - rtw_indicate_disconnect(padapter); + while (rtw_do_join(adapter) != _SUCCESS) { + rtw_dec_to_roam(adapter); + if (rtw_to_roam(adapter) <= 0) { + rtw_indicate_disconnect(adapter); break; } } } } -bool rtw_linked_check(struct adapter *padapter) +bool rtw_linked_check(struct adapter *adapter) { - if (check_fwstate(&padapter->mlmepriv, WIFI_AP_STATE) || - check_fwstate(&padapter->mlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) { - if (padapter->stapriv.asoc_sta_count > 2) + if (check_fwstate(&adapter->mlmepriv, WIFI_AP_STATE) || + check_fwstate(&adapter->mlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) { + if (adapter->stapriv.asoc_sta_count > 2) return true; } else { /* Station mode */ - if (check_fwstate(&padapter->mlmepriv, _FW_LINKED)) + if (check_fwstate(&adapter->mlmepriv, _FW_LINKED)) return true; } return false; diff --git a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c index e965133d94ab..80194796a9f7 100644 --- a/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c +++ b/drivers/staging/rtl8723bs/core/rtw_mlme_ext.c @@ -356,9 +356,9 @@ static u8 init_channel_set(struct adapter *padapter, u8 ChannelPlan, struct rt_c channel_set[chanset_size].scan_type = SCAN_ACTIVE; else channel_set[chanset_size].scan_type = SCAN_PASSIVE; - } else + } else { channel_set[chanset_size].scan_type = SCAN_ACTIVE; - + } chanset_size++; } } @@ -384,8 +384,6 @@ void init_mlme_ext_priv(struct adapter *padapter) pmlmeext->padapter = padapter; - /* fill_fwpriv(padapter, &(pmlmeext->fwpriv)); */ - init_mlme_ext_priv_value(padapter); pmlmeinfo->accept_addba_req = pregistrypriv->accept_addba_req; @@ -411,7 +409,6 @@ void free_mlme_ext_priv(struct mlme_ext_priv *pmlmeext) if (padapter->driver_stopped) { timer_delete_sync(&pmlmeext->survey_timer); timer_delete_sync(&pmlmeext->link_timer); - /* timer_delete_sync(&pmlmeext->ADDBA_timer); */ } } @@ -483,7 +480,6 @@ void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame) _mgt_dispatcher(padapter, ptable, precv_frame); break; case WIFI_ACTION: - /* if (check_fwstate(pmlmepriv, WIFI_AP_STATE) == true) */ _mgt_dispatcher(padapter, ptable, precv_frame); break; default: @@ -743,9 +739,6 @@ unsigned int OnAuth(struct adapter *padapter, union recv_frame *precv_frame) pstat->state = WIFI_FW_AUTH_NULL; pstat->auth_seq = 0; - - /* pstat->flags = 0; */ - /* pstat->capability = 0; */ } else { spin_lock_bh(&pstapriv->asoc_list_lock); if (!list_empty(&pstat->asoc_list)) { @@ -872,7 +865,6 @@ unsigned int OnAuthClient(struct adapter *padapter, union recv_frame *precv_fram pmlmeinfo->auth_algo = dot11_auth_algrthm_open; else pmlmeinfo->auth_algo = dot11_auth_algrthm_shared; - /* pmlmeinfo->reauth_count = 0; */ } set_link_timer(pmlmeext, 1); @@ -915,8 +907,6 @@ unsigned int OnAuthClient(struct adapter *padapter, union recv_frame *precv_fram authclnt_fail: - /* pmlmeinfo->state &= ~(WIFI_FW_AUTH_STATE); */ - return _FAIL; } @@ -961,7 +951,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) } capab_info = get_unaligned_le16(pframe + WLAN_HDR_A3_LEN); - /* capab_info = le16_to_cpu(*(unsigned short *)(pframe + WLAN_HDR_A3_LEN)); */ left = pkt_len - (sizeof(struct ieee80211_hdr_3addr) + ie_offset); pos = pframe + (sizeof(struct ieee80211_hdr_3addr) + ie_offset); @@ -1013,10 +1002,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) /* check if the supported rate is ok */ p = rtw_get_ie(pframe + WLAN_HDR_A3_LEN + ie_offset, WLAN_EID_SUPP_RATES, &ie_len, pkt_len - WLAN_HDR_A3_LEN - ie_offset); if (!p) { - /* use our own rate set as statoin used */ - /* memcpy(supportRate, AP_BSSRATE, AP_BSSRATE_LEN); */ - /* support_rate_num = AP_BSSRATE_LEN; */ - status = WLAN_STATUS_CHALLENGE_FAIL; goto OnAssocReqFail; } else { @@ -1037,7 +1022,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) } /* todo: mask supportRate between AP & STA -> move to update raid */ - /* get_matched_rate(pmlmeext, supportRate, &support_rate_num, 0); */ /* update station supportRate */ pstat->bssratelen = support_rate_num; @@ -1221,8 +1205,9 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) memcpy(&pstat->htpriv.ht_cap, elems.ht_capabilities, sizeof(struct ieee80211_ht_cap)); - } else + } else { pstat->flags &= ~WLAN_STA_HT; + } if (!pmlmepriv->htpriv.ht_option && (pstat->flags & WLAN_STA_HT)) { status = WLAN_STATUS_CHALLENGE_FAIL; @@ -1232,8 +1217,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) if ((pstat->flags & WLAN_STA_HT) && ((pstat->wpa2_pairwise_cipher & WPA_CIPHER_TKIP) || (pstat->wpa_pairwise_cipher & WPA_CIPHER_TKIP))) { - /* status = WLAN_STATUS_CIPHER_SUITE_REJECTED; */ - /* goto OnAssocReqFail; */ } pstat->flags |= WLAN_STA_NONERP; for (i = 0; i < pstat->bssratelen; i++) { @@ -1260,7 +1243,6 @@ unsigned int OnAssocReq(struct adapter *padapter, union recv_frame *precv_frame) if (!pstapriv->sta_aid[pstat->aid - 1]) break; - /* if (pstat->aid > NUM_STA) { */ if (pstat->aid > pstapriv->max_num_sta) { pstat->aid = 0; @@ -1344,7 +1326,6 @@ unsigned int OnAssocRsp(struct adapter *padapter, union recv_frame *precv_frame) struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; - /* struct wlan_bssid_ex *cur_network = &(pmlmeinfo->network); */ u8 *pframe = precv_frame->u.hdr.rx_data; uint pkt_len = precv_frame->u.hdr.len; @@ -1449,8 +1430,6 @@ unsigned int OnDeAuth(struct adapter *padapter, union recv_frame *precv_frame) struct sta_info *psta; struct sta_priv *pstapriv = &padapter->stapriv; - /* rtw_free_stainfo(padapter, psta); */ - netdev_dbg(padapter->pnetdev, "ap recv deauth reason code(%d) sta:%pM\n", reason, GetAddr2Ptr(pframe)); @@ -1519,8 +1498,6 @@ unsigned int OnDisassoc(struct adapter *padapter, union recv_frame *precv_frame) struct sta_info *psta; struct sta_priv *pstapriv = &padapter->stapriv; - /* rtw_free_stainfo(padapter, psta); */ - netdev_dbg(padapter->pnetdev, "ap recv disassoc reason code(%d) sta:%pM\n", reason, GetAddr2Ptr(pframe)); @@ -1630,7 +1607,6 @@ unsigned int OnAction_back(struct adapter *padapter, union recv_frame *precv_fra case WLAN_ACTION_ADDBA_REQ: /* ADDBA request */ memcpy(&(pmlmeinfo->ADDBA_req), &(frame_body[2]), sizeof(struct ADDBA_request)); - /* process_addba_req(padapter, (u8 *)&(pmlmeinfo->ADDBA_req), GetAddr3Ptr(pframe)); */ process_addba_req(padapter, (u8 *)&(pmlmeinfo->ADDBA_req), addr); if (pmlmeinfo->accept_addba_req) @@ -1915,8 +1891,6 @@ void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattri u8 wireless_mode; struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); - /* memset((u8 *)(pattrib), 0, sizeof(struct pkt_attrib)); */ - pattrib->hdrlen = 24; pattrib->nr_frags = 1; pattrib->priority = 7; @@ -1971,9 +1945,8 @@ void dump_mgntframe(struct adapter *padapter, struct xmit_frame *pmgntframe) rtw_hal_mgnt_xmit(padapter, pmgntframe); } -s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms) +void dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms) { - s32 ret = _FAIL; unsigned long irqL; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; struct xmit_buf *pxmitbuf = pmgntframe->pxmitbuf; @@ -1983,22 +1956,18 @@ s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntfr padapter->driver_stopped) { rtw_free_xmitbuf(&padapter->xmitpriv, pmgntframe->pxmitbuf); rtw_free_xmitframe(&padapter->xmitpriv, pmgntframe); - return ret; + return; } rtw_sctx_init(&sctx, timeout_ms); pxmitbuf->sctx = &sctx; - ret = rtw_hal_mgnt_xmit(padapter, pmgntframe); - - if (ret == _SUCCESS) - ret = rtw_sctx_wait(&sctx); + if (!rtw_hal_mgnt_xmit(padapter, pmgntframe)) + rtw_sctx_wait(&sctx); spin_lock_irqsave(&pxmitpriv->lock_sctx, irqL); pxmitbuf->sctx = NULL; spin_unlock_irqrestore(&pxmitpriv->lock_sctx, irqL); - - return ret; } s32 dump_mgntframe_and_wait_ack(struct adapter *padapter, struct xmit_frame *pmgntframe) @@ -2101,7 +2070,6 @@ void issue_beacon(struct adapter *padapter, int timeout_ms) memcpy(pwlanhdr->addr3, get_my_bssid(cur_network), ETH_ALEN); SetSeqNum(pwlanhdr, 0/*pmlmeext->mgnt_seq*/); - /* pmlmeext->mgnt_seq++; */ SetFrameSubType(pframe, WIFI_BEACON); pframe += sizeof(struct ieee80211_hdr_3addr); @@ -2176,7 +2144,6 @@ void issue_beacon(struct adapter *padapter, int timeout_ms) u8 erpinfo = 0; u32 ATIMWindow; /* IBSS Parameter Set... */ - /* ATIMWindow = cur->configuration.ATIMWindow; */ ATIMWindow = 0; pframe = rtw_set_ie(pframe, WLAN_EID_IBSS_PARAMS, 2, (unsigned char *)(&ATIMWindow), &pattrib->pktlen); @@ -2386,7 +2353,6 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p u8 erpinfo = 0; u32 ATIMWindow; /* IBSS Parameter Set... */ - /* ATIMWindow = cur->configuration.ATIMWindow; */ ATIMWindow = 0; pframe = rtw_set_ie(pframe, WLAN_EID_IBSS_PARAMS, 2, (unsigned char *)(&ATIMWindow), &pattrib->pktlen); @@ -2406,11 +2372,9 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p dump_mgntframe(padapter, pmgntframe); } -static int _issue_probereq(struct adapter *padapter, - struct ndis_802_11_ssid *pssid, - u8 *da, u8 ch, bool append_wps, bool wait_ack) +static void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, + bool append_wps) { - int ret = _FAIL; struct xmit_frame *pmgntframe; struct pkt_attrib *pattrib; unsigned char *pframe; @@ -2425,7 +2389,7 @@ static int _issue_probereq(struct adapter *padapter, pmgntframe = alloc_mgtxmitframe(pxmitpriv); if (!pmgntframe) - goto exit; + return; /* update attribute */ pattrib = &pmgntframe->attrib; @@ -2474,9 +2438,6 @@ static int _issue_probereq(struct adapter *padapter, pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, bssrate_len, bssrate, &(pattrib->pktlen)); } - if (ch) - pframe = rtw_set_ie(pframe, WLAN_EID_DS_PARAMS, 1, &ch, &pattrib->pktlen); - if (append_wps) { /* add wps_ie for wps2.0 */ if (pmlmepriv->wps_probe_req_ie_len > 0 && pmlmepriv->wps_probe_req_ie) { @@ -2488,51 +2449,7 @@ static int _issue_probereq(struct adapter *padapter, pattrib->last_txcmdsz = pattrib->pktlen; - if (wait_ack) { - ret = dump_mgntframe_and_wait_ack(padapter, pmgntframe); - } else { - dump_mgntframe(padapter, pmgntframe); - ret = _SUCCESS; - } - -exit: - return ret; -} - -inline void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da) -{ - _issue_probereq(padapter, pssid, da, 0, 1, false); -} - -int issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, u8 ch, bool append_wps, - int try_cnt, int wait_ms) -{ - int ret; - int i = 0; - - do { - ret = _issue_probereq(padapter, pssid, da, ch, append_wps, - wait_ms > 0); - - i++; - - if (padapter->driver_stopped || padapter->bSurpriseRemoved) - break; - - if (i < try_cnt && wait_ms > 0 && ret == _FAIL) - msleep(wait_ms); - - } while ((i < try_cnt) && ((ret == _FAIL) || (wait_ms == 0))); - - if (ret != _FAIL) { - ret = _SUCCESS; - #ifndef DBG_XMIT_ACK - goto exit; - #endif - } - -exit: - return ret; + dump_mgntframe(padapter, pmgntframe); } /* if psta == NULL, indicate we are station(client) now... */ @@ -2733,7 +2650,6 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i uint ie_len = 0; /* FILL HT CAP INFO IE */ - /* p = hostapd_eid_ht_capabilities_info(hapd, p); */ pbuf = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_HT_CAPABILITY, &ie_len, (pnetwork->ie_length - _BEACON_IE_OFFSET_)); if (pbuf && ie_len > 0) { memcpy(pframe, pbuf, ie_len + 2); @@ -2742,7 +2658,6 @@ void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_i } /* FILL HT ADD INFO IE */ - /* p = hostapd_eid_ht_operation(hapd, p); */ pbuf = rtw_get_ie(ie + _BEACON_IE_OFFSET_, WLAN_EID_HT_OPERATION, &ie_len, (pnetwork->ie_length - _BEACON_IE_OFFSET_)); if (pbuf && ie_len > 0) { memcpy(pframe, pbuf, ie_len + 2); @@ -2856,9 +2771,6 @@ void issue_assocreq(struct adapter *padapter) if (pmlmeext->cur_channel == 14) /* for JAPAN, channel 14 can only uses B Mode(CCK) */ sta_bssrate_len = 4; - /* for (i = 0; i < sta_bssrate_len; i++) { */ - /* */ - for (i = 0; i < NDIS_802_11_LENGTH_RATES_EX; i++) { if (pmlmeinfo->network.supported_rates[i] == 0) break; @@ -2892,9 +2804,9 @@ void issue_assocreq(struct adapter *padapter) if (bssrate_len > 8) { pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, 8, bssrate, &(pattrib->pktlen)); pframe = rtw_set_ie(pframe, WLAN_EID_EXT_SUPP_RATES, (bssrate_len - 8), (bssrate + 8), &(pattrib->pktlen)); - } else + } else { pframe = rtw_set_ie(pframe, WLAN_EID_SUPP_RATES, bssrate_len, bssrate, &(pattrib->pktlen)); - + } /* vendor specific IE, such as WPA, WMM, WPS */ for (i = sizeof(struct ndis_802_11_fix_ie); i < pmlmeinfo->network.ie_length;) { if (i + sizeof(*pIE) > pmlmeinfo->network.ie_length) @@ -3413,7 +3325,6 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned ch fctrl = &(pwlanhdr->frame_control); *(fctrl) = 0; - /* memcpy(pwlanhdr->addr1, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN); */ memcpy(pwlanhdr->addr1, raddr, ETH_ALEN); memcpy(pwlanhdr->addr2, myid(&(padapter->eeprompriv)), ETH_ALEN); memcpy(pwlanhdr->addr3, get_my_bssid(&(pmlmeinfo->network)), ETH_ALEN); @@ -3455,7 +3366,6 @@ void issue_action_BA(struct adapter *padapter, unsigned char *raddr, unsigned ch le_tmp = cpu_to_le16(BA_timeout_value); pframe = rtw_set_fixed_ie(pframe, 2, (unsigned char *)(&(le_tmp)), &(pattrib->pktlen)); - /* if ((psta = rtw_get_stainfo(pstapriv, pmlmeinfo->network.mac_address)) != NULL) */ psta = rtw_get_stainfo(pstapriv, raddr); if (psta) { start_seq = (psta->sta_xmitpriv.txseq_tid[status & 0x07] % 4096u) + 1; @@ -3583,7 +3493,6 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter) pframe = rtw_set_fixed_ie(pframe, 1, &(category), &(pattrib->pktlen)); pframe = rtw_set_fixed_ie(pframe, 1, &(action), &(pattrib->pktlen)); - /* */ if (pmlmepriv->num_FortyMHzIntolerant > 0) { u8 iedata = 0; @@ -3592,7 +3501,6 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter) pframe = rtw_set_ie(pframe, WLAN_EID_BSS_COEX_2040, 1, &iedata, &(pattrib->pktlen)); } - /* */ memset(ICS, 0, sizeof(ICS)); if (pmlmepriv->num_sta_no_ht > 0) { int i; @@ -3638,7 +3546,6 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter) continue; InfoContent[k] = i; - /* SET_BSS_INTOLERANT_ELE_REG_CLASS(InfoContent, i); */ k++; for (j = 1; j <= 14; j++) { @@ -3647,7 +3554,6 @@ static void issue_action_BSSCoexistPacket(struct adapter *padapter) if (k < 16) { InfoContent[k] = j; /* channel number */ - /* SET_BSS_INTOLERANT_ELE_CHANNEL(InfoContent+k, j); */ k++; } } @@ -3665,7 +3571,6 @@ unsigned int send_delba(struct adapter *padapter, u8 initiator, u8 *addr) { struct sta_priv *pstapriv = &padapter->stapriv; struct sta_info *psta = NULL; - /* struct recv_reorder_ctrl *preorder_ctrl; */ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; u16 tid; @@ -3771,20 +3676,25 @@ void site_survey(struct adapter *padapter) /* IOT issue, When wifi_spec is not set, send one probe req without WPS IE. */ if (padapter->registrypriv.wifi_spec) - issue_probereq(padapter, &(pmlmeext->sitesurvey_res.ssid[i]), NULL); + issue_probereq(padapter, + &pmlmeext->sitesurvey_res.ssid[i], + NULL, true); else - issue_probereq_ex(padapter, &(pmlmeext->sitesurvey_res.ssid[i]), NULL, 0, 0, 0, 0); + issue_probereq(padapter, + &pmlmeext->sitesurvey_res.ssid[i], + NULL, false); - issue_probereq(padapter, &(pmlmeext->sitesurvey_res.ssid[i]), NULL); + issue_probereq(padapter, &pmlmeext->sitesurvey_res.ssid[i], + NULL, true); } if (pmlmeext->sitesurvey_res.scan_mode == SCAN_ACTIVE) { /* IOT issue, When wifi_spec is not set, send one probe req without WPS IE. */ if (padapter->registrypriv.wifi_spec) - issue_probereq(padapter, NULL, NULL); + issue_probereq(padapter, NULL, NULL, true); else - issue_probereq_ex(padapter, NULL, NULL, 0, 0, 0, 0); - issue_probereq(padapter, NULL, NULL); + issue_probereq(padapter, NULL, NULL, false); + issue_probereq(padapter, NULL, NULL, true); } } } @@ -3798,15 +3708,8 @@ void site_survey(struct adapter *padapter) { pmlmeext->sitesurvey_res.state = SCAN_COMPLETE; - /* switch back to the original channel */ - /* SelectChannel(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset); */ - set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode); - /* flush 4-AC Queue after site_survey */ - /* val8 = 0; */ - /* rtw_hal_set_hwreg(padapter, HW_VAR_TXPAUSE, (u8 *)(&val8)); */ - /* config MSR */ set_msr(padapter, (pmlmeinfo->state & 0x3)); @@ -3814,7 +3717,6 @@ void site_survey(struct adapter *padapter) rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain)); /* turn on dynamic functions */ restore_dm_func_flag(padapter); - /* switch_dm_func(padapter, DYNAMIC_ALL_FUNC_ENABLE, true); */ if (is_client_associated_to_ap(padapter)) issue_nulldata(padapter, NULL, 0, 3, 500); @@ -3897,9 +3799,9 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str memcpy(bssid->ssid.ssid, (p + 2), *(p + 1)); bssid->ssid.ssid_length = *(p + 1); - } else + } else { bssid->ssid.ssid_length = 0; - + } memset(bssid->supported_rates, 0, NDIS_802_11_LENGTH_RATES_EX); /* checking rate info... */ @@ -3977,8 +3879,9 @@ u8 collect_bss_info(struct adapter *padapter, union recv_frame *precv_frame, str if (le16_to_cpu(pHT_caps->u.HT_cap_element.HT_caps_info) & BIT(14)) pmlmepriv->num_FortyMHzIntolerant++; - } else + } else { pmlmepriv->num_sta_no_ht++; + } } /* mark bss info receiving from nearby channel as signal_quality 101 */ @@ -4011,7 +3914,6 @@ void start_create_ibss(struct adapter *padapter) rtw_hal_set_hwreg(padapter, HW_VAR_SEC_CFG, (u8 *)(&val8)); /* switch channel */ - /* SelectChannel(padapter, pmlmeext->cur_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE); */ set_channel_bwmode(padapter, pmlmeext->cur_channel, HAL_PRIME_CHNL_OFFSET_DONT_CARE, CHANNEL_WIDTH_20); beacon_timing_control(padapter); @@ -4308,8 +4210,6 @@ void report_survey_event(struct adapter *padapter, union recv_frame *precv_frame struct C2HEvent_Header *pc2h_evt_hdr; struct mlme_ext_priv *pmlmeext; struct cmd_priv *pcmdpriv; - /* u8 *pframe = precv_frame->u.hdr.rx_data; */ - /* uint len = precv_frame->u.hdr.len; */ if (!padapter) return; @@ -4648,8 +4548,6 @@ static void rtw_mlmeext_disconnect(struct adapter *padapter) struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network)); - /* set_opmode_cmd(padapter, infra_client_with_mlme); */ - /* For safety, prevent from keeping macid sleep. * If we can sure all power mode enter/leave are paired, * this check can be removed. @@ -4755,8 +4653,6 @@ void mlmeext_joinbss_event_callback(struct adapter *padapter, int join_res) if ((pmlmeinfo->state & 0x03) == WIFI_FW_STATION_STATE) { /* correcting TSF */ correct_TSF(padapter, pmlmeext); - - /* set_link_timer(pmlmeext, DISCONNECT_TO); */ } rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_CONNECT, 0); @@ -4774,9 +4670,6 @@ void mlmeext_sta_add_event_callback(struct adapter *padapter, struct sta_info *p /* nothing to do */ } else { /* adhoc client */ - /* update TSF Value */ - /* update_TSF(pmlmeext, pframe, len); */ - /* correcting TSF */ correct_TSF(padapter, pmlmeext); @@ -4902,18 +4795,18 @@ void linked_status_chk(struct adapter *padapter) { if (rx_chk != _SUCCESS) { if (pmlmeext->retry == 0) { - issue_probereq_ex(padapter, - &pmlmeinfo->network.ssid, - pmlmeinfo->network.mac_address, - 0, 0, 0, 0); - issue_probereq_ex(padapter, - &pmlmeinfo->network.ssid, - pmlmeinfo->network.mac_address, - 0, 0, 0, 0); - issue_probereq_ex(padapter, - &pmlmeinfo->network.ssid, - pmlmeinfo->network.mac_address, - 0, 0, 0, 0); + issue_probereq(padapter, + &pmlmeinfo->network.ssid, + pmlmeinfo->network.mac_address, + false); + issue_probereq(padapter, + &pmlmeinfo->network.ssid, + pmlmeinfo->network.mac_address, + false); + issue_probereq(padapter, + &pmlmeinfo->network.ssid, + pmlmeinfo->network.mac_address, + false); } } @@ -4970,8 +4863,6 @@ void linked_status_chk(struct adapter *padapter) } } } - - /* set_link_timer(pmlmeext, DISCONNECT_TO); */ } } @@ -5092,7 +4983,6 @@ u8 setopmode_hdl(struct adapter *padapter, u8 *pbuf) if (psetop->mode == NL80211_IFTYPE_AP) { pmlmeinfo->state = WIFI_FW_AP_STATE; type = _HW_STATE_AP_; - /* start_ap_mode(padapter); */ } else if (psetop->mode == NL80211_IFTYPE_STATION) { pmlmeinfo->state &= ~(BIT(0) | BIT(1));/* clear state */ pmlmeinfo->state |= WIFI_FW_STATION_STATE;/* set to STATION_STATE */ @@ -5104,7 +4994,6 @@ u8 setopmode_hdl(struct adapter *padapter, u8 *pbuf) } rtw_hal_set_hwreg(padapter, HW_VAR_SET_OPMODE, (u8 *)(&type)); - /* set_msr(padapter, type); */ if (psetop->mode == NL80211_IFTYPE_AP) { /* Do this after port switch to */ @@ -5121,7 +5010,6 @@ u8 createbss_hdl(struct adapter *padapter, u8 *pbuf) struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network)); struct joinbss_parm *pparm = (struct joinbss_parm *)pbuf; - /* u32 initialgain; */ if (pmlmeinfo->state == WIFI_FW_AP_STATE) { start_bss_network(padapter); @@ -5146,10 +5034,6 @@ u8 createbss_hdl(struct adapter *padapter, u8 *pbuf) save_dm_func_flag(padapter); switch_dm_func(padapter, DYNAMIC_FUNC_DISABLE, false); - /* config the initial gain under linking, need to write the BB registers */ - /* initialgain = 0x1E; */ - /* rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain)); */ - /* cancel link timer */ timer_delete_sync(&pmlmeext->link_timer); @@ -5180,8 +5064,6 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf) struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&(pmlmeinfo->network)); u32 i; u8 cbw40_enable = 0; - /* u32 initialgain; */ - /* u32 acparm; */ u8 ch, bw, offset; /* check already connecting to AP or not */ @@ -5196,7 +5078,6 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf) timer_delete_sync(&pmlmeext->link_timer); /* set MSR to nolink -> infra. mode */ - /* set_msr(padapter, _HW_STATE_NOLINK_); */ set_msr(padapter, _HW_STATE_STATION_); rtw_hal_set_hwreg(padapter, HW_VAR_MLME_DISCONNECT, NULL); @@ -5214,7 +5095,6 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf) pmlmeinfo->agg_enable_bitmap = 0; pmlmeinfo->candidate_tid_bitmap = 0; pmlmeinfo->bwmode_updated = false; - /* pmlmeinfo->assoc_AP_vendor = HT_IOT_PEER_MAX; */ pmlmeinfo->VHT_enable = 0; memcpy(pnetwork, pbuf, offsetof(struct wlan_bssid_ex, ie_length)); @@ -5228,10 +5108,7 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf) pmlmeext->cur_channel = (u8)pnetwork->configuration.ds_config; pmlmeinfo->bcn_interval = get_beacon_interval(pnetwork); - /* Check AP vendor to move rtw_joinbss_cmd() */ - /* pmlmeinfo->assoc_AP_vendor = check_assoc_AP(pnetwork->ies, pnetwork->ie_length); */ - /* sizeof(struct ndis_802_11_fix_ie) */ for (i = _FIXED_IE_LENGTH_; i < pnetwork->ie_length;) { if (i + sizeof(*pIE) > pnetwork->ie_length) break; @@ -5294,13 +5171,6 @@ u8 join_cmd_hdl(struct adapter *padapter, u8 *pbuf) return H2C_SUCCESS; } - /* disable dynamic functions, such as high power, DIG */ - /* switch_dm_func(padapter, DYNAMIC_FUNC_DISABLE, false); */ - - /* config the initial gain under linking, need to write the BB registers */ - /* initialgain = 0x1E; */ - /* rtw_hal_set_hwreg(padapter, HW_VAR_INITIAL_GAIN, (u8 *)(&initialgain)); */ - rtw_hal_set_hwreg(padapter, HW_VAR_BSSID, pmlmeinfo->network.mac_address); join_type = 0; rtw_hal_set_hwreg(padapter, HW_VAR_MLME_JOIN, (u8 *)(&join_type)); @@ -5589,11 +5459,7 @@ u8 add_ba_hdl(struct adapter *padapter, unsigned char *pbuf) if (((pmlmeinfo->state & WIFI_FW_ASSOC_SUCCESS) && (pmlmeinfo->HT_enable)) || ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)) { - /* pmlmeinfo->ADDBA_retry_count = 0; */ - /* pmlmeinfo->candidate_tid_bitmap |= (0x1 << pparm->tid); */ - /* psta->htpriv.candidate_tid_bitmap |= BIT(pparm->tid); */ issue_action_BA(padapter, pparm->addr, WLAN_ACTION_ADDBA_REQ, (u16)pparm->tid); - /* _set_timer(&pmlmeext->ADDBA_timer, ADDBA_TO); */ _set_timer(&psta->addba_retry_timer, ADDBA_TO); } else { psta->htpriv.candidate_tid_bitmap &= ~BIT(pparm->tid); @@ -5751,7 +5617,6 @@ u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf) if ((pstapriv->tim_bitmap & BIT(0)) && (psta_bmc->sleepq_len > 0)) { msleep(10);/* 10ms, ATIM(HIQ) Windows */ - /* spin_lock_bh(&psta_bmc->sleep_q.lock); */ spin_lock_bh(&pxmitpriv->lock); xmitframe_phead = get_list_head(&psta_bmc->sleep_q); @@ -5775,7 +5640,6 @@ u8 chk_bmc_sleepq_hdl(struct adapter *padapter, unsigned char *pbuf) rtw_hal_xmitframe_enqueue(padapter, pxmitframe); } - /* spin_unlock_bh(&psta_bmc->sleep_q.lock); */ spin_unlock_bh(&pxmitpriv->lock); /* check hi queue and bmc_sleepq */ diff --git a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c index 448611ad8237..93a89712489e 100644 --- a/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c +++ b/drivers/staging/rtl8723bs/core/rtw_pwrctrl.c @@ -210,7 +210,6 @@ void traffic_check_for_leave_lps(struct adapter *padapter, u8 tx, u32 tx_packets } if (bLeaveLPS) - /* rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_LEAVE, 1); */ rtw_lps_ctrl_wk_cmd(padapter, LPS_CTRL_LEAVE, tx ? 0 : 1); } @@ -501,10 +500,8 @@ void LeaveAllPowerSaveModeDirect(struct adapter *Adapter) } } -/* */ /* Description: Leave all power save mode: LPS, FwLPS, IPS if needed. */ /* Move code to function by tynli. 2010.03.26. */ -/* */ void LeaveAllPowerSaveMode(struct adapter *Adapter) { struct dvobj_priv *dvobj = adapter_to_dvobj(Adapter); diff --git a/drivers/staging/rtl8723bs/core/rtw_recv.c b/drivers/staging/rtl8723bs/core/rtw_recv.c index 7568fc514d7c..381b3e29afaf 100644 --- a/drivers/staging/rtl8723bs/core/rtw_recv.c +++ b/drivers/staging/rtl8723bs/core/rtw_recv.c @@ -9,6 +9,7 @@ #include <rtw_recv.h> #include <net/cfg80211.h> #include <linux/unaligned.h> +#include <linux/align.h> static u8 SNAP_ETH_TYPE_IPX[2] = {0x81, 0x37}; static u8 SNAP_ETH_TYPE_APPLETALK_AARP[2] = {0x80, 0xf3}; @@ -29,7 +30,7 @@ signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *pada { signed int i; union recv_frame *precvframe; - signed int res = _SUCCESS; + signed int res = _SUCCESS; spin_lock_init(&precvpriv->lock); @@ -52,9 +53,7 @@ signed int _rtw_init_recv_priv(struct recv_priv *precvpriv, struct adapter *pada goto exit; } - precvpriv->precv_frame_buf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(precvpriv->pallocated_frame_buf), RXFRAME_ALIGN_SZ); - /* precvpriv->precv_frame_buf = precvpriv->pallocated_frame_buf + RXFRAME_ALIGN_SZ - */ - /* ((SIZE_PTR) (precvpriv->pallocated_frame_buf) &(RXFRAME_ALIGN_SZ-1)); */ + precvpriv->precv_frame_buf = PTR_ALIGN(precvpriv->pallocated_frame_buf, RXFRAME_ALIGN_SZ); precvframe = (union recv_frame *)precvpriv->precv_frame_buf; @@ -89,7 +88,7 @@ void _rtw_free_recv_priv(struct recv_priv *precvpriv) { signed int i; union recv_frame *precvframe; - struct adapter *padapter = precvpriv->adapter; + struct adapter *padapter = precvpriv->adapter; rtw_free_uc_swdec_pending_queue(padapter); @@ -111,8 +110,8 @@ void _rtw_free_recv_priv(struct recv_priv *precvpriv) union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue) { - union recv_frame *precvframe; - struct list_head *plist, *phead; + union recv_frame *precvframe; + struct list_head *plist, *phead; struct adapter *padapter; struct recv_priv *precvpriv; @@ -138,7 +137,7 @@ union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue) union recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue) { - union recv_frame *precvframe; + union recv_frame *precvframe; spin_lock_bh(&pfree_recv_queue->lock); @@ -180,7 +179,6 @@ signed int _rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue * struct adapter *padapter = precvframe->u.hdr.adapter; struct recv_priv *precvpriv = &padapter->recvpriv; - /* INIT_LIST_HEAD(&(precvframe->u.hdr.list)); */ list_del_init(&(precvframe->u.hdr.list)); list_add_tail(&(precvframe->u.hdr.list), get_list_head(queue)); @@ -196,10 +194,8 @@ signed int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *q { signed int ret; - /* _spinlock(&pfree_recv_queue->lock); */ spin_lock_bh(&queue->lock); ret = _rtw_enqueue_recvframe(precvframe, queue); - /* spin_unlock(&pfree_recv_queue->lock); */ spin_unlock_bh(&queue->lock); return ret; @@ -213,10 +209,10 @@ signed int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *q * */ -void rtw_free_recvframe_queue(struct __queue *pframequeue, struct __queue *pfree_recv_queue) +void rtw_free_recvframe_queue(struct __queue *pframequeue, struct __queue *pfree_recv_queue) { - union recv_frame *precvframe; - struct list_head *plist, *phead; + union recv_frame *precvframe; + struct list_head *plist, *phead; spin_lock(&pframequeue->lock); @@ -273,7 +269,7 @@ signed int rtw_enqueue_recvbuf(struct recv_buf *precvbuf, struct __queue *queue) struct recv_buf *rtw_dequeue_recvbuf(struct __queue *queue) { struct recv_buf *precvbuf; - struct list_head *plist, *phead; + struct list_head *plist, *phead; spin_lock_bh(&queue->lock); @@ -298,7 +294,7 @@ static void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup) { enum nl80211_key_type key_type = 0; union iwreq_data wrqu; - struct iw_michaelmicfailure ev; + struct iw_michaelmicfailure ev; struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct security_priv *psecuritypriv = &padapter->securitypriv; unsigned long cur_time = 0; @@ -340,13 +336,12 @@ static void rtw_handle_tkip_mic_err(struct adapter *padapter, u8 bgroup) static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *precvframe) { - signed int i, res = _SUCCESS; + signed int i, res = _SUCCESS; u32 datalen; u8 miccode[8]; u8 bmic_err = false, brpt_micerror = true; u8 *pframe, *payload, *pframemic; u8 *mickey; - /* u8 *iv, rxdata_key_idx = 0; */ struct sta_info *stainfo; struct rx_pkt_attrib *prxattrib = &precvframe->u.hdr.attrib; struct security_priv *psecuritypriv = &adapter->securitypriv; @@ -360,13 +355,8 @@ static signed int recvframe_chkmic(struct adapter *adapter, union recv_frame *p /* calculate mic code */ if (stainfo) { if (is_multicast_ether_addr(prxattrib->ra)) { - /* mickey =&psecuritypriv->dot118021XGrprxmickey.skey[0]; */ - /* iv = precvframe->u.hdr.rx_data+prxattrib->hdrlen; */ - /* rxdata_key_idx =(((iv[3])>>6)&0x3) ; */ mickey = &psecuritypriv->dot118021XGrprxmickey[prxattrib->key_index].skey[0]; - /* psecuritypriv->dot118021XGrpKeyid, pmlmeinfo->key_index, rxdata_key_idx); */ - if (!psecuritypriv->binstallGrpkey) { res = _FAIL; goto exit; @@ -426,8 +416,21 @@ static union recv_frame *decryptor(struct adapter *padapter, union recv_frame *p u32 res = _SUCCESS; if (prxattrib->encrypt > 0) { - u8 *iv = precv_frame->u.hdr.rx_data + prxattrib->hdrlen; + u8 *iv; + u32 min_len = prxattrib->hdrlen + prxattrib->iv_len + prxattrib->icv_len; + + /* TKIP appends an 8-byte Michael MIC that icv_len doesn't account for */ + if (prxattrib->encrypt == _TKIP_) + min_len += 8; + + /* a protected frame must be long enough to hold the IV and ICV/MIC */ + if (precv_frame->u.hdr.len < min_len) { + rtw_free_recvframe(precv_frame, + &padapter->recvpriv.free_recv_queue); + return NULL; + } + iv = precv_frame->u.hdr.rx_data + prxattrib->hdrlen; prxattrib->key_index = (((iv[3]) >> 6) & 0x3); if (prxattrib->key_index > WEP_KEYS) { @@ -530,16 +533,7 @@ static union recv_frame *portctrl(struct adapter *adapter, union recv_frame *pre } else { /* allowed */ /* check decryption status, and decrypt the frame if needed */ - prtnframe = precv_frame; - /* check is the EAPOL frame or not (Rekey) */ - /* if (ether_type == eapol_type) { */ - /* check Rekey */ - - /* prtnframe =precv_frame; */ - /* */ - /* else { */ - /* */ } } else { prtnframe = precv_frame; @@ -583,16 +577,10 @@ static void process_pwrbit_data(struct adapter *padapter, union recv_frame *prec if (psta) { if (pwrbit) { if (!(psta->state & WIFI_SLEEP_STATE)) { - /* psta->state |= WIFI_SLEEP_STATE; */ - /* pstapriv->sta_dz_bitmap |= BIT(psta->aid); */ - stop_sta_xmit(padapter, psta); } } else { if (psta->state & WIFI_SLEEP_STATE) { - /* psta->state ^= WIFI_SLEEP_STATE; */ - /* pstapriv->sta_dz_bitmap &= ~BIT(psta->aid); */ - wakeup_sta_to_xmit(padapter, psta); } } @@ -830,7 +818,6 @@ static signed int ap2sta_data_frame(struct adapter *adapter, union recv_frame *p memcpy(pattrib->ra, pattrib->dst, ETH_ALEN); memcpy(pattrib->ta, pattrib->src, ETH_ALEN); - /* */ memcpy(pattrib->bssid, mybssid, ETH_ALEN); *psta = rtw_get_stainfo(pstapriv, pattrib->bssid); /* get sta_info */ @@ -923,7 +910,6 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_ struct sta_priv *pstapriv = &padapter->stapriv; u8 *pframe = precv_frame->u.hdr.rx_data; struct sta_info *psta = NULL; - /* uint len = precv_frame->u.hdr.len; */ if (GetFrameType(pframe) != WIFI_CTRL_TYPE) return _FAIL; @@ -977,11 +963,10 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_ } if ((psta->state & WIFI_SLEEP_STATE) && (pstapriv->sta_dz_bitmap & BIT(psta->aid))) { - struct list_head *xmitframe_plist, *xmitframe_phead; + struct list_head *xmitframe_plist, *xmitframe_phead; struct xmit_frame *pxmitframe = NULL; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - /* spin_lock_bh(&psta->sleep_q.lock); */ spin_lock_bh(&pxmitpriv->lock); xmitframe_phead = get_list_head(&psta->sleep_q); @@ -1009,15 +994,12 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_ pstapriv->tim_bitmap &= ~BIT(psta->aid); /* update BCN for TIM IE */ - /* update_BCNTIM(padapter); */ update_beacon(padapter, WLAN_EID_TIM, true); } - /* spin_unlock_bh(&psta->sleep_q.lock); */ spin_unlock_bh(&pxmitpriv->lock); } else { - /* spin_unlock_bh(&psta->sleep_q.lock); */ spin_unlock_bh(&pxmitpriv->lock); if (pstapriv->tim_bitmap & BIT(psta->aid)) { @@ -1031,7 +1013,6 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_ pstapriv->tim_bitmap &= ~BIT(psta->aid); /* update BCN for TIM IE */ - /* update_BCNTIM(padapter); */ update_beacon(padapter, WLAN_EID_TIM, true); } } @@ -1045,12 +1026,12 @@ static signed int validate_recv_ctrl_frame(struct adapter *padapter, union recv_ static union recv_frame *recvframe_defrag(struct adapter *adapter, struct __queue *defrag_q) { - struct list_head *plist, *phead; - u8 wlanhdr_offset; + struct list_head *plist, *phead; + u8 wlanhdr_offset; u8 curfragnum; struct recv_frame_hdr *pfhdr, *pnfhdr; union recv_frame *prframe, *pnextrframe; - struct __queue *pfree_recv_queue; + struct __queue *pfree_recv_queue; curfragnum = 0; pfree_recv_queue = &adapter->recvpriv.free_recv_queue; @@ -1170,10 +1151,8 @@ static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union re /* Then enqueue the 0~(n-1) fragment into the defrag_q */ - /* spin_lock(&pdefrag_q->lock); */ phead = get_list_head(pdefrag_q); list_add_tail(&pfhdr->list, phead); - /* spin_unlock(&pdefrag_q->lock); */ prtnframe = NULL; @@ -1188,10 +1167,8 @@ static union recv_frame *recvframe_chk_defrag(struct adapter *padapter, union re /* the last fragment frame */ /* enqueue the last fragment */ if (pdefrag_q) { - /* spin_lock(&pdefrag_q->lock); */ phead = get_list_head(pdefrag_q); list_add_tail(&pfhdr->list, phead); - /* spin_unlock(&pdefrag_q->lock); */ /* call recvframe_defrag to defrag */ precv_frame = recvframe_defrag(padapter, pdefrag_q); @@ -1262,7 +1239,7 @@ static signed int validate_recv_data_frame(struct adapter *adapter, union recv_f u8 *psa, *pda, *pbssid; struct sta_info *psta = NULL; u8 *ptr = precv_frame->u.hdr.rx_data; - struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; + struct rx_pkt_attrib *pattrib = &precv_frame->u.hdr.attrib; struct security_priv *psecuritypriv = &adapter->securitypriv; signed int ret = _SUCCESS; @@ -1319,8 +1296,6 @@ static signed int validate_recv_data_frame(struct adapter *adapter, union recv_f goto exit; } - /* psta->rssi = prxcmd->rssi; */ - /* psta->signal_quality = prxcmd->sq; */ precv_frame->u.hdr.psta = psta; pattrib->amsdu = 0; @@ -1395,6 +1370,10 @@ static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame if (!mgmt_DATA) goto validate_80211w_fail; precv_frame = decryptor(adapter, precv_frame); + if (!precv_frame) { + kfree(mgmt_DATA); + goto validate_80211w_fail; + } /* save actual management data frame body */ memcpy(mgmt_DATA, ptr + pattrib->hdrlen + pattrib->iv_len, data_len); /* overwrite the iv field */ @@ -1402,8 +1381,6 @@ static signed int validate_80211w_mgmt(struct adapter *adapter, union recv_frame /* remove the iv and icv length */ pattrib->pkt_len = pattrib->pkt_len - pattrib->iv_len - pattrib->icv_len; kfree(mgmt_DATA); - if (!precv_frame) - goto validate_80211w_fail; } else if (is_multicast_ether_addr(GetAddr1Ptr(ptr)) && (subtype == WIFI_DEAUTH || subtype == WIFI_DISASSOC)) { signed int BIP_ret = _SUCCESS; @@ -1509,13 +1486,13 @@ exit: /* remove the wlanhdr and add the eth_hdr */ static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe) { - signed int rmv_len; + signed int rmv_len; u16 eth_type, len; u8 bsnaphdr; u8 *psnap_type; - struct ieee80211_snap_hdr *psnap; + struct ieee80211_snap_hdr *psnap; __be16 be_tmp; - struct adapter *adapter = precvframe->u.hdr.adapter; + struct adapter *adapter = precvframe->u.hdr.adapter; struct mlme_priv *pmlmepriv = &adapter->mlmepriv; u8 *ptr = precvframe->u.hdr.rx_data; /* point to frame_ctrl field */ struct rx_pkt_attrib *pattrib = &precvframe->u.hdr.attrib; @@ -1523,10 +1500,9 @@ static signed int wlanhdr_to_ethhdr(union recv_frame *precvframe) if (pattrib->encrypt) recvframe_pull_tail(precvframe, pattrib->icv_len); - psnap = (struct ieee80211_snap_hdr *)(ptr + pattrib->hdrlen + pattrib->iv_len); + psnap = (struct ieee80211_snap_hdr *)(ptr + pattrib->hdrlen + pattrib->iv_len); psnap_type = ptr + pattrib->hdrlen + pattrib->iv_len + SNAP_SIZE; /* convert hdr + possible LLC headers into Ethernet header */ - /* eth_type = (psnap_type[0] << 8) | psnap_type[1]; */ if ((!memcmp(psnap, rfc1042_header, SNAP_SIZE) && (memcmp(psnap_type, SNAP_ETH_TYPE_IPX, 2)) && (memcmp(psnap_type, SNAP_ETH_TYPE_APPLETALK_AARP, 2))) || @@ -1637,7 +1613,6 @@ static void rtw_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, if (psta) { struct net_device *pnetdev = (struct net_device *)padapter->pnetdev; - /* skb->ip_summed = CHECKSUM_NONE; */ pkt->dev = pnetdev; skb_set_queue_mapping(pkt, rtw_recv_select_queue(pkt)); @@ -1664,7 +1639,7 @@ static void rtw_recv_indicate_pkt(struct adapter *padapter, struct sk_buff *pkt, static int amsdu_to_msdu(struct adapter *padapter, union recv_frame *prframe) { - int a_len, padding_len; + int a_len, padding_len; u16 subframe_len; u8 nr_subframes, i; u8 *pdata; @@ -1745,11 +1720,9 @@ static int check_indicate_seq(struct recv_reorder_ctrl *preorder_ctrl, u16 seq_n if (SN_LESS(seq_num, preorder_ctrl->indicate_seq)) return false; - /* */ /* Sliding window manipulation. Conditions includes: */ /* 1. Incoming SeqNum is equal to WinStart =>Window shift 1 */ /* 2. Incoming SeqNum is larger than the WinEnd => Window shift N */ - /* */ if (SN_EQUAL(seq_num, preorder_ctrl->indicate_seq)) { preorder_ctrl->indicate_seq = (preorder_ctrl->indicate_seq + 1) % 4096u; @@ -1772,9 +1745,6 @@ static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, un union recv_frame *pnextrframe; struct rx_pkt_attrib *pnextattrib; - /* spin_lock_irqsave(&ppending_recvframe_queue->lock, irql); */ - /* spin_lock(&ppending_recvframe_queue->lock); */ - phead = get_list_head(ppending_recvframe_queue); plist = get_next(phead); @@ -1786,22 +1756,15 @@ static int enqueue_reorder_recvframe(struct recv_reorder_ctrl *preorder_ctrl, un plist = get_next(plist); else if (SN_EQUAL(pnextattrib->seq_num, pattrib->seq_num)) /* Duplicate entry is found!! Do not insert current entry. */ - /* spin_unlock_irqrestore(&ppending_recvframe_queue->lock, irql); */ return false; else break; } - /* spin_lock_irqsave(&ppending_recvframe_queue->lock, irql); */ - /* spin_lock(&ppending_recvframe_queue->lock); */ - - list_del_init(&(prframe->u.hdr.list)); + list_del_init(&prframe->u.hdr.list); list_add_tail(&(prframe->u.hdr.list), plist); - /* spin_unlock(&ppending_recvframe_queue->lock); */ - /* spin_unlock_irqrestore(&ppending_recvframe_queue->lock, irql); */ - return true; } @@ -1844,25 +1807,19 @@ _recv_indicatepkt_drop: static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reorder_ctrl *preorder_ctrl, int bforced) { - struct list_head *phead, *plist; + struct list_head *phead, *plist; union recv_frame *prframe; struct rx_pkt_attrib *pattrib; - /* u8 index = 0; */ int bPktInBuf = false; struct recv_priv *precvpriv = &padapter->recvpriv; struct __queue *ppending_recvframe_queue = &preorder_ctrl->pending_recvframe_queue; - /* spin_lock_irqsave(&ppending_recvframe_queue->lock, irql); */ - /* spin_lock(&ppending_recvframe_queue->lock); */ - - phead = get_list_head(ppending_recvframe_queue); + phead = get_list_head(ppending_recvframe_queue); plist = get_next(phead); /* Handling some condition for forced indicate case. */ if (bforced) { if (list_empty(phead)) { - /* spin_unlock_irqrestore(&ppending_recvframe_queue->lock, irql); */ - /* spin_unlock(&ppending_recvframe_queue->lock); */ return true; } @@ -1885,9 +1842,6 @@ static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reor if (SN_EQUAL(preorder_ctrl->indicate_seq, pattrib->seq_num)) preorder_ctrl->indicate_seq = (preorder_ctrl->indicate_seq + 1) % 4096u; - /* Set this as a lock to make sure that only one thread is indicating packet. */ - /* pTS->RxIndicateState = RXTS_INDICATE_PROCESSING; */ - /* Indicate packets */ /* indicate this recv_frame */ @@ -1913,9 +1867,6 @@ static int recv_indicatepkts_in_order(struct adapter *padapter, struct recv_reor } } - /* spin_unlock(&ppending_recvframe_queue->lock); */ - /* spin_unlock_irqrestore(&ppending_recvframe_queue->lock, irql); */ - return bPktInBuf; } @@ -1970,8 +1921,6 @@ static int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame * /* s3. Insert all packet into Reorder Queue to maintain its ordering. */ if (!enqueue_reorder_recvframe(preorder_ctrl, prframe)) { - /* spin_unlock_irqrestore(&ppending_recvframe_queue->lock, irql); */ - /* return _FAIL; */ goto _err_exit; } @@ -1979,13 +1928,10 @@ static int recv_indicatepkt_reorder(struct adapter *padapter, union recv_frame * /* Indication process. */ /* After Packet dropping and Sliding Window shifting as above, we can now just indicate the packets */ /* with the SeqNum smaller than latest WinStart and buffer other packets. */ - /* */ /* For Rx Reorder condition: */ /* 1. All packets with SeqNum smaller than WinStart => Indicate */ /* 2. All packets with SeqNum larger than or equal to WinStart => Buffer it. */ - /* */ - /* recv_indicatepkts_in_order(padapter, preorder_ctrl, true); */ if (recv_indicatepkts_in_order(padapter, preorder_ctrl, false)) { _set_timer(&preorder_ctrl->reordering_ctrl_timer, REORDER_WAIT_TIME); spin_unlock_bh(&ppending_recvframe_queue->lock); @@ -2023,14 +1969,10 @@ void rtw_reordering_ctrl_timeout_handler(struct timer_list *t) static int process_recv_indicatepkts(struct adapter *padapter, union recv_frame *prframe) { int retval = _SUCCESS; - /* struct recv_priv *precvpriv = &padapter->recvpriv; */ - /* struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib; */ struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct ht_priv *phtpriv = &pmlmepriv->htpriv; if (phtpriv->ht_option) { /* B/G/N Mode */ - /* prframe->u.hdr.preorder_ctrl = &precvpriv->recvreorder_ctrl[pattrib->priority]; */ - if (recv_indicatepkt_reorder(padapter, prframe) != _SUCCESS) { /* including perform A-MPDU Rx Ordering Buffer Control */ if (!padapter->driver_stopped && diff --git a/drivers/staging/rtl8723bs/core/rtw_security.c b/drivers/staging/rtl8723bs/core/rtw_security.c index 2217cffac5f2..72af46391e23 100644 --- a/drivers/staging/rtl8723bs/core/rtw_security.c +++ b/drivers/staging/rtl8723bs/core/rtw_security.c @@ -34,7 +34,8 @@ const char *security_type_str(u8 value) /* Need to consider the fragment situation */ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) -{ /* exclude ICV */ +{ + /* exclude ICV */ union { __le32 f0; unsigned char f1[4]; @@ -62,14 +63,19 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) keylength = psecuritypriv->dot11DefKeylen[psecuritypriv->dot11PrivacyKeyIndex]; for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { + int idx = psecuritypriv->dot11PrivacyKeyIndex; + iv = pframe + pattrib->hdrlen; memcpy(&wepkey[0], iv, 3); - memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[psecuritypriv->dot11PrivacyKeyIndex].skey[0], keylength); + memcpy(&wepkey[3], + &psecuritypriv->dot11DefKey[idx].skey[0], + keylength); payload = pframe + pattrib->iv_len + pattrib->hdrlen; if ((curfragnum + 1) == pattrib->nr_frags) { /* the last fragment */ - length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pattrib->last_txcmdsz - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length)); @@ -78,7 +84,8 @@ void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe) arc4_crypt(ctx, payload + length, crc.f1, 4); } else { - length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pxmitpriv->frag_len - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length)); arc4_setkey(ctx, wepkey, 3 + keylength); arc4_crypt(ctx, payload, payload, length); @@ -108,11 +115,9 @@ void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe) /* start to decrypt recvframe */ if ((prxattrib->encrypt == _WEP40_) || (prxattrib->encrypt == _WEP104_)) { iv = pframe + prxattrib->hdrlen; - /* keyindex =(iv[3]&0x3); */ keyindex = prxattrib->key_index; keylength = psecuritypriv->dot11DefKeylen[keyindex]; memcpy(&wepkey[0], iv, 3); - /* memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[psecuritypriv->dot11PrivacyKeyIndex].skey[0], keylength); */ memcpy(&wepkey[3], &psecuritypriv->dot11DefKey[keyindex].skey[0], keylength); length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len; @@ -157,7 +162,8 @@ void rtw_secmicappendbyte(struct mic_data *pmicdata, u8 b) pmicdata->L ^= pmicdata->M; pmicdata->R ^= ROL32(pmicdata->L, 17); pmicdata->L += pmicdata->R; - pmicdata->R ^= ((pmicdata->L & 0xff00ff00) >> 8) | ((pmicdata->L & 0x00ff00ff) << 8); + pmicdata->R ^= ((pmicdata->L & 0xff00ff00) >> 8) | + ((pmicdata->L & 0x00ff00ff) << 8); pmicdata->L += pmicdata->R; pmicdata->R ^= ROL32(pmicdata->L, 3); pmicdata->L += pmicdata->R; @@ -418,7 +424,8 @@ static void phase2(u8 *rc4key, const u8 *tk, const u16 *p1k, u16 iv16) /* The hlen isn't include the IV */ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) -{ /* exclude ICV */ +{ + /* exclude ICV */ u16 pnl; u32 pnh; u8 rc4key[16]; @@ -467,7 +474,8 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) phase2(&rc4key[0], prwskey, (u16 *)&ttkey[0], pnl); if ((curfragnum + 1) == pattrib->nr_frags) { /* 4 the last fragment */ - length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pattrib->last_txcmdsz - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length)); arc4_setkey(ctx, rc4key, 16); @@ -475,7 +483,8 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) arc4_crypt(ctx, payload + length, crc.f1, 4); } else { - length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pxmitpriv->frag_len - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; crc.f0 = cpu_to_le32(~crc32_le(~0, payload, length)); arc4_setkey(ctx, rc4key, 16); @@ -491,7 +500,8 @@ u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe) /* The hlen isn't include the IV */ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) -{ /* exclude ICV */ +{ + /* exclude ICV */ u16 pnl; u32 pnh; u8 rc4key[16]; @@ -536,7 +546,8 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) if (jiffies_to_msecs(jiffies - start) > 1000) { if (no_gkey_bc_cnt || no_gkey_mc_cnt) { netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", + FUNC_ADPT_FMT + " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt, no_gkey_mc_cnt); @@ -550,7 +561,8 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) if (no_gkey_bc_cnt || no_gkey_mc_cnt) { netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", + FUNC_ADPT_FMT + " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt, no_gkey_mc_cnt); @@ -566,7 +578,8 @@ u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe) iv = pframe + prxattrib->hdrlen; payload = pframe + prxattrib->iv_len + prxattrib->hdrlen; - length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len; + length = ((union recv_frame *)precvframe)->u.hdr.len - + prxattrib->hdrlen - prxattrib->iv_len; GET_TKIP_PN(iv, dot11txpn); @@ -757,16 +770,18 @@ static void construct_ctr_preload(u8 *ctr_preload, if (frtype == WIFI_MGT_TYPE) ctr_preload[1] |= BIT(4); + /* ctr_preload[2:7] = A2[0:5] = mpdu[10:15] */ for (i = 2; i < 8; i++) - ctr_preload[i] = mpdu[i + 8]; /* ctr_preload[2:7] = A2[0:5] = mpdu[10:15] */ + ctr_preload[i] = mpdu[i + 8]; + /* ctr_preload[8:13] = PN[5:0] */ for (i = 8; i < 14; i++) - ctr_preload[i] = pn_vector[13 - i]; /* ctr_preload[8:13] = PN[5:0] */ + ctr_preload[i] = pn_vector[13 - i]; ctr_preload[14] = (unsigned char)(c / 256); /* Ctr */ ctr_preload[15] = (unsigned char)(c % 256); } -static signed int aes_cipher(u8 *key, uint hdrlen, - u8 *pframe, uint plen) +static signed int aes_cipher(u8 *key, uint hdrlen, + u8 *pframe, uint plen) { uint qc_exists, a4_exists, i, j, payload_remainder, num_blocks, payload_index; @@ -922,9 +937,6 @@ static signed int aes_cipher(u8 *key, uint hdrlen, u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe) { /* exclude ICV */ - /*static*/ - /* unsigned char message[MAX_MSG_SIZE]; */ - /* Intermediate Buffers */ signed int curfragnum, length; u8 *pframe, *prwskey; /* *payload,*iv */ @@ -952,11 +964,13 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe) for (curfragnum = 0; curfragnum < pattrib->nr_frags; curfragnum++) { if ((curfragnum + 1) == pattrib->nr_frags) { /* 4 the last fragment */ - length = pattrib->last_txcmdsz - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pattrib->last_txcmdsz - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; aes_cipher(prwskey, pattrib->hdrlen, pframe, length); } else { - length = pxmitpriv->frag_len - pattrib->hdrlen - pattrib->iv_len - pattrib->icv_len; + length = pxmitpriv->frag_len - pattrib->hdrlen - + pattrib->iv_len - pattrib->icv_len; aes_cipher(prwskey, pattrib->hdrlen, pframe, length); pframe += pxmitpriv->frag_len; @@ -966,8 +980,8 @@ u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe) return res; } -static signed int aes_decipher(u8 *key, uint hdrlen, - u8 *pframe, uint plen) +static signed int aes_decipher(u8 *key, uint hdrlen, + u8 *pframe, uint plen) { static u8 message[MAX_MSG_SIZE]; uint qc_exists, a4_exists, i, j, payload_remainder, @@ -1167,9 +1181,6 @@ static signed int aes_decipher(u8 *key, uint hdrlen, u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) { /* exclude ICV */ - /*static*/ - /* unsigned char message[MAX_MSG_SIZE]; */ - /* Intermediate Buffers */ signed int length; @@ -1205,7 +1216,8 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) if (jiffies_to_msecs(jiffies - start) > 1000) { if (no_gkey_bc_cnt || no_gkey_mc_cnt) { netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", + FUNC_ADPT_FMT + " no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt, no_gkey_mc_cnt); @@ -1220,7 +1232,8 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) if (no_gkey_bc_cnt || no_gkey_mc_cnt) { netdev_dbg(padapter->pnetdev, - FUNC_ADPT_FMT " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", + FUNC_ADPT_FMT + " gkey installed. no_gkey_bc_cnt:%u, no_gkey_mc_cnt:%u\n", FUNC_ADPT_ARG(padapter), no_gkey_bc_cnt, no_gkey_mc_cnt); @@ -1238,7 +1251,8 @@ u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe) prwskey = &stainfo->dot118021x_UncstKey.skey[0]; } - length = ((union recv_frame *)precvframe)->u.hdr.len - prxattrib->hdrlen - prxattrib->iv_len; + length = ((union recv_frame *)precvframe)->u.hdr.len - + prxattrib->hdrlen - prxattrib->iv_len; res = aes_decipher(prwskey, prxattrib->hdrlen, pframe, length); @@ -1269,13 +1283,20 @@ u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe) /* mapping to wlan header */ pwlanhdr = (struct ieee80211_hdr *)pframe; /* save the frame body + MME */ - memcpy(BIP_AAD + BIP_AAD_SIZE, pframe + WLAN_HDR_A3_LEN, pattrib->pkt_len - WLAN_HDR_A3_LEN); + memcpy(BIP_AAD + BIP_AAD_SIZE, + pframe + WLAN_HDR_A3_LEN, + pattrib->pkt_len - WLAN_HDR_A3_LEN); /* find MME IE pointer */ - p = rtw_get_ie(BIP_AAD + BIP_AAD_SIZE, WLAN_EID_MMIE, &len, pattrib->pkt_len - WLAN_HDR_A3_LEN); + p = rtw_get_ie(BIP_AAD + BIP_AAD_SIZE, + WLAN_EID_MMIE, + &len, + pattrib->pkt_len - WLAN_HDR_A3_LEN); /* Baron */ if (p) { u16 keyid = 0; u64 temp_ipn = 0; + int bip_keyid; + u8 *bip_key; /* save packet number */ memcpy(&le_tmp64, p + 4, 6); temp_ipn = le64_to_cpu(le_tmp64); @@ -1300,8 +1321,10 @@ u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe) /* conscruct AAD, copy address 1 to address 3 */ memcpy(BIP_AAD + 2, &pwlanhdr->addrs, sizeof(pwlanhdr->addrs)); - if (omac1_aes_128(padapter->securitypriv.dot11wBIPKey[padapter->securitypriv.dot11wBIPKeyid].skey - , BIP_AAD, ori_len, mic)) + bip_keyid = padapter->securitypriv.dot11wBIPKeyid; + bip_key = padapter->securitypriv.dot11wBIPKey[bip_keyid].skey; + + if (omac1_aes_128(bip_key, BIP_AAD, ori_len, mic)) goto BIP_exit; /* MIC field should be last 8 bytes of packet (packet without FCS) */ @@ -1430,7 +1453,8 @@ void rtw_sec_restore_wep_key(struct adapter *adapter) struct security_priv *securitypriv = &adapter->securitypriv; signed int keyid; - if ((securitypriv->dot11_privacy_algrthm == _WEP40_) || (securitypriv->dot11_privacy_algrthm == _WEP104_)) { + if ((securitypriv->dot11_privacy_algrthm == _WEP40_) || + (securitypriv->dot11_privacy_algrthm == _WEP104_)) { for (keyid = 0; keyid < 4; keyid++) { if (securitypriv->key_mask & BIT(keyid)) { if (keyid == securitypriv->dot11PrivacyKeyIndex) @@ -1448,7 +1472,8 @@ u8 rtw_handle_tkip_countermeasure(struct adapter *adapter, const char *caller) u8 status = _SUCCESS; if (securitypriv->btkip_countermeasure) { - unsigned long passing_ms = jiffies_to_msecs(jiffies - securitypriv->btkip_countermeasure_time); + unsigned long elapsed = jiffies - securitypriv->btkip_countermeasure_time; + unsigned long passing_ms = jiffies_to_msecs(elapsed); if (passing_ms > 60 * 1000) { netdev_dbg(adapter->pnetdev, diff --git a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c index 6d014bf8fa96..11351aa4f4d0 100644 --- a/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c +++ b/drivers/staging/rtl8723bs/core/rtw_sta_mgt.c @@ -14,9 +14,6 @@ void _rtw_init_stainfo(struct sta_info *psta) spin_lock_init(&psta->lock); INIT_LIST_HEAD(&psta->list); INIT_LIST_HEAD(&psta->hash_list); - /* INIT_LIST_HEAD(&psta->asoc_list); */ - /* INIT_LIST_HEAD(&psta->sleep_list); */ - /* INIT_LIST_HEAD(&psta->wakeup_list); */ INIT_LIST_HEAD(&psta->sleep_q.queue); spin_lock_init(&psta->sleep_q.lock); @@ -171,7 +168,6 @@ u32 _rtw_free_sta_priv(struct sta_priv *pstapriv) return _SUCCESS; } -/* struct sta_info *rtw_alloc_stainfo(_queue *pfree_sta_queue, unsigned char *hwaddr) */ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) { s32 index; @@ -184,10 +180,8 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) pfree_sta_queue = &pstapriv->free_sta_queue; - /* spin_lock_bh(&(pfree_sta_queue->lock)); */ spin_lock_bh(&pstapriv->sta_hash_lock); if (list_empty(&pfree_sta_queue->queue)) { - /* spin_unlock_bh(&(pfree_sta_queue->lock)); */ spin_unlock_bh(&pstapriv->sta_hash_lock); return NULL; } @@ -195,8 +189,6 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) list_del_init(&psta->list); - /* spin_unlock_bh(&(pfree_sta_queue->lock)); */ - _rtw_init_stainfo(psta); psta->padapter = pstapriv->padapter; @@ -212,14 +204,10 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) } phash_list = &pstapriv->sta_hash[index]; - /* spin_lock_bh(&(pstapriv->sta_hash_lock)); */ - list_add_tail(&psta->hash_list, phash_list); pstapriv->asoc_sta_count++; - /* spin_unlock_bh(&(pstapriv->sta_hash_lock)); */ - /* Commented by Albert 2009/08/13 */ /* For the SMC router, the sequence number of first packet of WPS handshake will be 0. */ /* In this case, this packet will be dropped by recv_decache function if we use the 0x00 as the default value for tid_rxseq variable. */ @@ -240,7 +228,6 @@ struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr) preorder_ctrl->indicate_seq = 0xffff; preorder_ctrl->wend_b = 0xffff; - /* preorder_ctrl->wsize_b = (NR_RECVBUFF-2); */ preorder_ctrl->wsize_b = 64;/* 64; */ INIT_LIST_HEAD(&preorder_ctrl->pending_recvframe_queue.queue); @@ -287,50 +274,38 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta) pstaxmitpriv = &psta->sta_xmitpriv; - /* list_del_init(&psta->sleep_list); */ - - /* list_del_init(&psta->wakeup_list); */ - spin_lock_bh(&pxmitpriv->lock); rtw_free_xmitframe_queue(pxmitpriv, &psta->sleep_q); psta->sleepq_len = 0; /* vo */ - /* spin_lock_bh(&(pxmitpriv->vo_pending.lock)); */ rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->vo_q.sta_pending); list_del_init(&pstaxmitpriv->vo_q.tx_pending); phwxmit = pxmitpriv->hwxmits; phwxmit->accnt -= pstaxmitpriv->vo_q.qcnt; pstaxmitpriv->vo_q.qcnt = 0; - /* spin_unlock_bh(&(pxmitpriv->vo_pending.lock)); */ /* vi */ - /* spin_lock_bh(&(pxmitpriv->vi_pending.lock)); */ rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->vi_q.sta_pending); list_del_init(&pstaxmitpriv->vi_q.tx_pending); phwxmit = pxmitpriv->hwxmits + 1; phwxmit->accnt -= pstaxmitpriv->vi_q.qcnt; pstaxmitpriv->vi_q.qcnt = 0; - /* spin_unlock_bh(&(pxmitpriv->vi_pending.lock)); */ /* be */ - /* spin_lock_bh(&(pxmitpriv->be_pending.lock)); */ rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->be_q.sta_pending); list_del_init(&pstaxmitpriv->be_q.tx_pending); phwxmit = pxmitpriv->hwxmits + 2; phwxmit->accnt -= pstaxmitpriv->be_q.qcnt; pstaxmitpriv->be_q.qcnt = 0; - /* spin_unlock_bh(&(pxmitpriv->be_pending.lock)); */ /* bk */ - /* spin_lock_bh(&(pxmitpriv->bk_pending.lock)); */ rtw_free_xmitframe_queue(pxmitpriv, &pstaxmitpriv->bk_q.sta_pending); list_del_init(&pstaxmitpriv->bk_q.tx_pending); phwxmit = pxmitpriv->hwxmits + 3; phwxmit->accnt -= pstaxmitpriv->bk_q.qcnt; pstaxmitpriv->bk_q.qcnt = 0; - /* spin_unlock_bh(&(pxmitpriv->bk_pending.lock)); */ spin_unlock_bh(&pxmitpriv->lock); @@ -339,10 +314,6 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta) pstapriv->asoc_sta_count--; spin_unlock_bh(&pstapriv->sta_hash_lock); - /* re-init sta_info; 20061114 will be init in alloc_stainfo */ - /* _rtw_init_sta_xmit_priv(&psta->sta_xmitpriv); */ - /* _rtw_init_sta_recv_priv(&psta->sta_recvpriv); */ - timer_delete_sync(&psta->addba_retry_timer); /* for A-MPDU Rx reordering buffer control, cancel reordering_ctrl_timer */ @@ -410,9 +381,7 @@ u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta) psta->under_exist_checking = 0; - /* spin_lock_bh(&(pfree_sta_queue->lock)); */ list_add_tail(&psta->list, get_list_head(pfree_sta_queue)); - /* spin_unlock_bh(&(pfree_sta_queue->lock)); */ exit: return _SUCCESS; @@ -493,7 +462,6 @@ u32 rtw_init_bcmc_stainfo(struct adapter *padapter) u8 bcast_addr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; struct sta_priv *pstapriv = &padapter->stapriv; - /* struct __queue *pstapending = &padapter->xmitpriv.bm_pending; */ psta = rtw_alloc_stainfo(pstapriv, bcast_addr); diff --git a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c index 8c1f4670679b..9feab9ab7545 100644 --- a/drivers/staging/rtl8723bs/core/rtw_wlan_util.c +++ b/drivers/staging/rtl8723bs/core/rtw_wlan_util.c @@ -180,14 +180,14 @@ void set_mcs_rate_by_mask(u8 *mcs_set, u32 mask) mcs_set[3] &= mcs_rate_4r; } -void update_basic_rate_table(struct adapter *Adapter, u8 *mBratesOS) +void update_basic_rate_table(struct adapter *Adapter, u8 *basic_rates) { u8 i; u8 rate; /* 1M, 2M, 5.5M, 11M, 6M, 12M, 24M are mandatory. */ for (i = 0; i < NDIS_802_11_LENGTH_RATES_EX; i++) { - rate = mBratesOS[i] & 0x7f; + rate = basic_rates[i] & 0x7f; switch (rate) { case IEEE80211_CCK_RATE_1MB: case IEEE80211_CCK_RATE_2MB: @@ -196,7 +196,7 @@ void update_basic_rate_table(struct adapter *Adapter, u8 *mBratesOS) case IEEE80211_OFDM_RATE_6MB: case IEEE80211_OFDM_RATE_12MB: case IEEE80211_OFDM_RATE_24MB: - mBratesOS[i] |= IEEE80211_BASIC_RATE_MASK; + basic_rates[i] |= IEEE80211_BASIC_RATE_MASK; break; } } @@ -655,7 +655,6 @@ void flush_all_cam_entry(struct adapter *padapter) int WMM_param_handler(struct adapter *padapter, struct ndis_80211_var_ie *pIE) { - /* struct registry_priv *pregpriv = &padapter->registrypriv; */ struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; @@ -774,7 +773,6 @@ void WMMOnAssocRsp(struct adapter *padapter) case 0x1: rtw_hal_set_hwreg(padapter, HW_VAR_AC_PARAM_BK, (u8 *)(&acParm)); - /* acm_mask |= (ACM? BIT(0):0); */ edca[XMIT_BK_QUEUE] = acParm; break; @@ -872,8 +870,6 @@ static void bwmode_update_check(struct adapter *padapter, struct ndis_80211_var_ struct wlan_bssid_ex *cur_network = &pmlmeinfo->network; struct sta_priv *pstapriv = &padapter->stapriv; - /* set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode); */ - /* update ap's stainfo */ psta = rtw_get_stainfo(pstapriv, cur_network->mac_address); if (psta) { @@ -984,7 +980,6 @@ void HTOnAssocRsp(struct adapter *padapter) { unsigned char max_AMPDU_len; unsigned char min_MPDU_spacing; - /* struct registry_priv *pregpriv = &padapter->registrypriv; */ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; @@ -992,7 +987,6 @@ void HTOnAssocRsp(struct adapter *padapter) pmlmeinfo->HT_enable = 1; } else { pmlmeinfo->HT_enable = 0; - /* set_channel_bwmode(padapter, pmlmeext->cur_channel, pmlmeext->cur_ch_offset, pmlmeext->cur_bwmode); */ return; } @@ -1082,7 +1076,6 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len) unsigned char *p; unsigned short val16, subtype; struct wlan_network *cur_network = &Adapter->mlmepriv.cur_network; - /* u8 wpa_ie[255], rsn_ie[255]; */ u16 wpa_len = 0, rsn_len = 0; u8 encryp_protocol = 0; struct wlan_bssid_ex *bssid; @@ -1154,7 +1147,6 @@ int rtw_check_bcn_info(struct adapter *Adapter, u8 *pframe, u32 packet_len) cur_network->bcn_info.ht_info_infos_0 = ht_info_infos_0; /* to do : need to check that whether modify related register of BB or not */ } - /* goto _mismatch; */ } /* Checking for channel */ @@ -1281,7 +1273,6 @@ void update_beacon_info(struct adapter *padapter, u8 *pframe, uint pkt_len, stru break; case WLAN_EID_HT_OPERATION: /* HT info */ - /* HT_info_handler(padapter, pIE); */ bwmode_update_check(padapter, pIE); break; @@ -1392,10 +1383,7 @@ static u32 get_realtek_assoc_AP_vender(struct ndis_80211_var_ie *pIE) if (pIE->length >= 5) { if (pIE->data[4] == 1) - /* if (pIE->data[5] & RT_HT_CAP_USE_LONG_PREAMBLE) */ - /* bssDesc->BssHT.RT2RT_HT_Mode |= RT_HT_CAP_USE_LONG_PREAMBLE; */ if (pIE->data[5] & RT_HT_CAP_USE_92SE) - /* bssDesc->BssHT.RT2RT_HT_Mode |= RT_HT_CAP_USE_92SE; */ Vender = HT_IOT_PEER_REALTEK_92SE; if (pIE->data[5] & RT_HT_CAP_USE_SOFTAP) @@ -1468,8 +1456,6 @@ void update_IOT_info(struct adapter *padapter) switch_dm_func(padapter, ((u32)(~DYNAMIC_BB_DYNAMIC_TXPWR)), false); break; case HT_IOT_PEER_REALTEK: - /* rtw_write16(padapter, 0x4cc, 0xffff); */ - /* rtw_write16(padapter, 0x546, 0x01c0); */ /* disable high power */ switch_dm_func(padapter, ((u32)(~DYNAMIC_BB_DYNAMIC_TXPWR)), false); break; @@ -1666,16 +1652,13 @@ void adaptive_early_32k(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len) tsf |= le32_to_cpu(*pbuf); /* delay = (timestamp mod 1024*100)/1000 (unit: ms) */ - /* delay_ms = do_div(tsf, (pmlmeinfo->bcn_interval*1024))/1000; */ delay_ms = do_div(tsf, (pmlmeinfo->bcn_interval * 1024)); delay_ms = delay_ms / 1000; if (delay_ms >= 8) pmlmeext->bcn_delay_cnt[8]++; - /* pmlmeext->bcn_delay_ratio[8] = (pmlmeext->bcn_delay_cnt[8] * 100) /pmlmeext->bcn_cnt; */ else pmlmeext->bcn_delay_cnt[delay_ms]++; - /* pmlmeext->bcn_delay_ratio[delay_ms] = (pmlmeext->bcn_delay_cnt[delay_ms] * 100) /pmlmeext->bcn_cnt; */ /* dump for adaptive_early_32k */ if (pmlmeext->bcn_cnt > 100 && pmlmeext->adaptive_tsf_done) { u8 ratio_20_delay, ratio_80_delay; diff --git a/drivers/staging/rtl8723bs/core/rtw_xmit.c b/drivers/staging/rtl8723bs/core/rtw_xmit.c index 81d9e713fc12..57b3690bc48a 100644 --- a/drivers/staging/rtl8723bs/core/rtw_xmit.c +++ b/drivers/staging/rtl8723bs/core/rtw_xmit.c @@ -7,6 +7,7 @@ #include <drv_types.h> #include <linux/delay.h> #include <linux/if_ether.h> +#include <linux/align.h> static u8 P802_1H_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0xf8 }; static u8 RFC1042_OUI[P80211_OUI_LEN] = { 0x00, 0x00, 0x00 }; @@ -80,7 +81,7 @@ static int rtw_os_xmit_resource_alloc(struct adapter *padapter, struct xmit_buf if (!pxmitbuf->pallocated_buf) return -ENOMEM; - pxmitbuf->pbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitbuf->pallocated_buf), XMITBUF_ALIGN_SZ); + pxmitbuf->pbuf = PTR_ALIGN(pxmitbuf->pallocated_buf, XMITBUF_ALIGN_SZ); } return 0; @@ -126,7 +127,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) pxmitpriv->pxmit_frame_buf = NULL; return -ENOMEM; } - pxmitpriv->pxmit_frame_buf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_frame_buf), 4); + pxmitpriv->pxmit_frame_buf = PTR_ALIGN(pxmitpriv->pallocated_frame_buf, 4); pxframe = (struct xmit_frame *)pxmitpriv->pxmit_frame_buf; @@ -162,7 +163,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) if (!pxmitpriv->pallocated_xmitbuf) return -ENOMEM; - pxmitpriv->pxmitbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_xmitbuf), 4); + pxmitpriv->pxmitbuf = PTR_ALIGN(pxmitpriv->pallocated_xmitbuf, 4); pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmitbuf; @@ -207,7 +208,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) pxmitpriv->xframe_ext = NULL; return -ENOMEM; } - pxmitpriv->xframe_ext = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->xframe_ext_alloc_addr), 4); + pxmitpriv->xframe_ext = PTR_ALIGN(pxmitpriv->xframe_ext_alloc_addr, 4); pxframe = (struct xmit_frame *)pxmitpriv->xframe_ext; for (i = 0; i < NR_XMIT_EXTBUFF; i++) { @@ -239,7 +240,7 @@ s32 _rtw_init_xmit_priv(struct xmit_priv *pxmitpriv, struct adapter *padapter) if (!pxmitpriv->pallocated_xmit_extbuf) return -ENOMEM; - pxmitpriv->pxmit_extbuf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(pxmitpriv->pallocated_xmit_extbuf), 4); + pxmitpriv->pxmit_extbuf = PTR_ALIGN(pxmitpriv->pallocated_xmit_extbuf, 4); pxmitbuf = (struct xmit_buf *)pxmitpriv->pxmit_extbuf; @@ -391,7 +392,6 @@ static void update_attrib_vcs_info(struct adapter *padapter, struct xmit_frame * { u32 sz; struct pkt_attrib *pattrib = &pxmitframe->attrib; - /* struct sta_info *psta = pattrib->psta; */ struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; @@ -880,7 +880,7 @@ static int xmitframe_addmic(struct adapter *padapter, struct xmit_frame *pxmitfr return 0; } -static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmitframe) +static void xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmitframe) { struct pkt_attrib *pattrib = &pxmitframe->attrib; @@ -900,8 +900,6 @@ static s32 xmitframe_swencrypt(struct adapter *padapter, struct xmit_frame *pxmi break; } } - - return _SUCCESS; } int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib) @@ -920,8 +918,6 @@ int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr if (pattrib->subtype & WIFI_DATA_TYPE) { if (check_fwstate(pmlmepriv, WIFI_STATION_STATE)) { - /* to_ds = 1, fr_ds = 0; */ - { /* 1.Data transfer to AP */ /* 2.Arp pkt will relayed by AP */ @@ -934,7 +930,6 @@ int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattr if (pqospriv->qos_option) qos_option = true; } else if (check_fwstate(pmlmepriv, WIFI_AP_STATE)) { - /* to_ds = 0, fr_ds = 1; */ SetFrDs(fctrl); memcpy(pwlanhdr->addr1, pattrib->dst, ETH_ALEN); memcpy(pwlanhdr->addr2, get_bssid(pmlmepriv), ETH_ALEN); @@ -1188,7 +1183,7 @@ int rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct } /* broadcast or multicast management pkt use BIP, unicast management pkt use CCMP encryption */ -s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe) +int rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe) { u8 *pframe, *mem_start = NULL, *tmp_buf = NULL; u8 subtype; @@ -1211,7 +1206,7 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s BIP_AAD = kzalloc(ori_len, GFP_ATOMIC); if (!BIP_AAD) - return _FAIL; + return -ENOMEM; tmp_buf = BIP_AAD; subtype = GetFrameSubType(pframe); /* bit(7)~bit(2) */ @@ -1342,12 +1337,12 @@ s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, s xmitframe_coalesce_success: spin_unlock_bh(&padapter->security_key_mutex); kfree(BIP_AAD); - return _SUCCESS; + return 0; xmitframe_coalesce_fail: spin_unlock_bh(&padapter->security_key_mutex); kfree(BIP_AAD); - return _FAIL; + return -EINVAL; } /* Logical Link Control(LLC) SubNetwork Attachment Point(SNAP) header @@ -1534,13 +1529,13 @@ struct xmit_buf *rtw_alloc_xmitbuf_ext(struct xmit_priv *pxmitpriv) return pxmitbuf; } -s32 rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) +void rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) { unsigned long irqL; struct __queue *pfree_queue = &pxmitpriv->free_xmit_extbuf_queue; if (!pxmitbuf) - return _FAIL; + return; spin_lock_irqsave(&pfree_queue->lock, irqL); @@ -1550,8 +1545,6 @@ s32 rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) pxmitpriv->free_xmit_extbuf_cnt++; spin_unlock_irqrestore(&pfree_queue->lock, irqL); - - return _SUCCESS; } struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv) @@ -1595,13 +1588,13 @@ struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv) return pxmitbuf; } -s32 rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) +void rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) { unsigned long irqL; struct __queue *pfree_xmitbuf_queue = &pxmitpriv->free_xmitbuf_queue; if (!pxmitbuf) - return _FAIL; + return; if (pxmitbuf->sctx) rtw_sctx_done_err(&pxmitbuf->sctx, RTW_SCTX_DONE_BUF_FREE); @@ -1620,7 +1613,6 @@ s32 rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf) pxmitpriv->free_xmitbuf_cnt++; spin_unlock_irqrestore(&pfree_xmitbuf_queue->lock, irqL); } - return _SUCCESS; } static void rtw_init_xmitframe(struct xmit_frame *pxframe) @@ -1717,7 +1709,7 @@ struct xmit_frame *rtw_alloc_xmitframe_once(struct xmit_priv *pxmitpriv) if (!alloc_addr) goto exit; - pxframe = (struct xmit_frame *)N_BYTE_ALIGMENT((SIZE_PTR)(alloc_addr), 4); + pxframe = (struct xmit_frame *)PTR_ALIGN(alloc_addr, 4); pxframe->alloc_addr = alloc_addr; pxframe->padapter = pxmitpriv->adapter; @@ -1734,14 +1726,14 @@ exit: return pxframe; } -s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe) +void rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe) { struct __queue *queue = NULL; struct adapter *padapter = pxmitpriv->adapter; struct sk_buff *pndis_pkt = NULL; if (!pxmitframe) - return _SUCCESS; + return; if (pxmitframe->pkt) { pndis_pkt = pxmitframe->pkt; @@ -1750,7 +1742,11 @@ s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitfram if (pxmitframe->alloc_addr) { kfree(pxmitframe->alloc_addr); - goto check_pkt_complete; + + if (pndis_pkt) + rtw_os_pkt_complete(padapter, pndis_pkt); + + return; } if (pxmitframe->ext_tag == 0) @@ -1769,12 +1765,8 @@ s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitfram spin_unlock_bh(&queue->lock); -check_pkt_complete: - if (pndis_pkt) rtw_os_pkt_complete(padapter, pndis_pkt); - - return _SUCCESS; } void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue) @@ -2150,7 +2142,7 @@ static void dequeue_xmitframes_to_sleeping_queue(struct adapter *padapter, ret = xmitframe_enqueue_for_sleeping_sta(padapter, pxmitframe); - if (true == ret) { + if (ret) { ptxservq = rtw_get_sta_pending(padapter, psta, pattrib->priority, (u8 *)(&ac_index)); ptxservq->qcnt--; diff --git a/drivers/staging/rtl8723bs/hal/Hal8723BReg.h b/drivers/staging/rtl8723bs/hal/Hal8723BReg.h index 0b327a70aa15..8142d9cf9ae5 100644 --- a/drivers/staging/rtl8723bs/hal/Hal8723BReg.h +++ b/drivers/staging/rtl8723bs/hal/Hal8723BReg.h @@ -19,27 +19,16 @@ #ifndef __INC_HAL8723BREG_H #define __INC_HAL8723BREG_H -/* */ -/* */ /* 0x0100h ~ 0x01FFh MACTOP General Configuration */ -/* */ -/* */ #define REG_C2HEVT_CMD_SEQ_88XX 0x01A1 #define REG_C2HEVT_CMD_LEN_88XX 0x01AE -/* */ -/* */ /* 0x0200h ~ 0x027Fh TXDMA Configuration */ -/* */ -/* */ #define REG_DWBCN1_CTRL_8723B 0x0228 /* spec version 11 */ -/* */ -/* */ + /* 0x0400h ~ 0x047Fh Protocol Configuration */ -/* */ -/* */ #define REG_FWHW_TXQ_CTRL_8723B 0x0420 #define REG_ARFR0_8723B 0x0444 #define REG_ARFR1_8723B 0x044C @@ -50,11 +39,7 @@ #define REG_DATA_SC_8723B 0x0483 #define REG_MAX_AGGR_NUM_8723B 0x04CA -/* */ -/* */ /* 0x0500h ~ 0x05FFh EDCA Configuration */ -/* */ -/* */ #define REG_PIFS_8723B 0x0512 /* 0x0600h ~ 0x07FFh WMAC Configuration */ diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c index 0613beaa3752..2845ae14977a 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c +++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.c @@ -221,9 +221,7 @@ static void halbtc8723b1ant_LimitedRx( bool bBtCtrlRxAggSize = bBtCtrlAggBufSize; u8 rxAggSize = aggBufSize; - /* */ /* Rx Aggregation related setting */ - /* */ pBtCoexist->fBtcSet( pBtCoexist, BTC_SET_BL_TO_REJ_AP_AGG_PKT, &bRejectRxAgg ); @@ -1346,7 +1344,6 @@ static void halbtc8723b1ant_TdmaDurationAdjustForAcl( halbtc8723b1ant_PsTdma(pBtCoexist, NORMAL_EXEC, true, 2); pCoexDm->psTdmaDuAdjType = 2; - /* */ up = 0; dn = 0; m = 1; @@ -1525,17 +1522,9 @@ static void halbtc8723b1ant_PowerSaveState( } } -/* */ -/* */ /* Software Coex Mechanism start */ -/* */ -/* */ -/* */ -/* */ /* Non-Software Coex Mechanism start */ -/* */ -/* */ static void halbtc8723b1ant_ActionWifiMultiPort(struct btc_coexist *pBtCoexist) { halbtc8723b1ant_PowerSaveState(pBtCoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0); @@ -2058,12 +2047,8 @@ static void halbtc8723b1ant_InitHwConfig( pBtCoexist->fBtcRead1Byte(pBtCoexist, 0x67); } -/* */ /* work around function start with wa_halbtc8723b1ant_ */ -/* */ -/* */ /* extern function start with EXhalbtc8723b1ant_ */ -/* */ void EXhalbtc8723b1ant_PowerOnSetting(struct btc_coexist *pBtCoexist) { struct btc_board_info *pBoardInfo = &pBtCoexist->boardInfo; @@ -2081,7 +2066,6 @@ void EXhalbtc8723b1ant_PowerOnSetting(struct btc_coexist *pBtCoexist) /* set WLAN_ACT = 0 */ pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x76e, 0x4); - /* */ /* S0 or S1 setting and Local register setting(By the setting fw can get ant number, S0/S1, ... info) */ /* Local setting bit define */ /* BIT0: "0" for no antenna inverse; "1" for antenna inverse */ diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h index 7a12d92da0a9..b3e6c5f12e8b 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h +++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b1Ant.h @@ -164,9 +164,7 @@ struct coex_sta_8723b_1ant { bool bForceLpsOn; }; -/* */ /* The following is interface which will notify coex module. */ -/* */ void EXhalbtc8723b1ant_PowerOnSetting(struct btc_coexist *pBtCoexist); void EXhalbtc8723b1ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bWifiOnly); void EXhalbtc8723b1ant_InitCoexDm(struct btc_coexist *pBtCoexist); diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c index 0220bacee181..f7e126c69a5a 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c +++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.c @@ -167,9 +167,7 @@ static void halbtc8723b2ant_LimitedRx( bool bBtCtrlRxAggSize = bBtCtrlAggBufSize; u8 rxAggSize = aggBufSize; - /* */ /* Rx Aggregation related setting */ - /* */ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_TO_REJ_AP_AGG_PKT, &bRejectRxAgg); /* decide BT control aggregation buf size or not */ pBtCoexist->fBtcSet(pBtCoexist, BTC_SET_BL_BT_CTRL_AGG_SIZE, &bBtCtrlRxAggSize); @@ -1209,7 +1207,6 @@ static void halbtc8723b2ant_TdmaDurationAdjust( } } } - /* */ up = 0; dn = 0; m = 1; @@ -2315,12 +2312,8 @@ static void halbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bB pBtCoexist->fBtcWrite1ByteBitMask(pBtCoexist, 0x40, 0x20, 0x1); } -/* */ /* work around function start with wa_halbtc8723b2ant_ */ -/* */ -/* */ /* extern function start with EXhalbtc8723b2ant_ */ -/* */ void EXhalbtc8723b2ant_PowerOnSetting(struct btc_coexist *pBtCoexist) { struct btc_board_info *pBoardInfo = &pBtCoexist->boardInfo; @@ -2338,7 +2331,6 @@ void EXhalbtc8723b2ant_PowerOnSetting(struct btc_coexist *pBtCoexist) /* set WLAN_ACT = 0 */ pBtCoexist->fBtcWrite1Byte(pBtCoexist, 0x76e, 0x4); - /* */ /* S0 or S1 setting and Local register setting(By the setting fw can get ant number, S0/S1, ... info) */ /* Local setting bit define */ /* BIT0: "0" for no antenna inverse; "1" for antenna inverse */ diff --git a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h index ebc47f65e8d2..21bb90479e9c 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h +++ b/drivers/staging/rtl8723bs/hal/HalBtc8723b2Ant.h @@ -126,9 +126,7 @@ struct coex_sta_8723b_2ant { u8 btInfoExt; }; -/* */ /* The following is interface which will notify coex module. */ -/* */ void EXhalbtc8723b2ant_PowerOnSetting(struct btc_coexist *pBtCoexist); void EXhalbtc8723b2ant_InitHwConfig(struct btc_coexist *pBtCoexist, bool bWifiOnly); void EXhalbtc8723b2ant_InitCoexDm(struct btc_coexist *pBtCoexist); diff --git a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h index 36b0f429dd4c..c2ac06812bff 100644 --- a/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h +++ b/drivers/staging/rtl8723bs/hal/HalBtcOutSrc.h @@ -81,7 +81,6 @@ struct btc_board_info { u8 btdmAntNum; /* ant number for btdm */ u8 btdmAntPos; /* Bryant Add to indicate Antenna Position for (pgAntNum = 2) && (btdmAntNum = 1) (DPDT+1Ant case) */ u8 singleAntPath; /* current used for 8723b only, 1 =>s0, 0 =>s1 */ - /* bool bBtExist; */ }; enum { @@ -194,7 +193,7 @@ enum { BTC_SET_ACT_CTRL_BT_INFO, BTC_SET_ACT_CTRL_BT_COEX, BTC_SET_ACT_CTRL_8723B_ANT, - /* */ + BTC_SET_MAX }; diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf.c b/drivers/staging/rtl8723bs/hal/HalPhyRf.c index bf44c1050be5..083d60871a68 100644 --- a/drivers/staging/rtl8723bs/hal/HalPhyRf.c +++ b/drivers/staging/rtl8723bs/hal/HalPhyRf.c @@ -13,14 +13,11 @@ void ConfigureTxpowerTrack(struct dm_odm_t *pDM_Odm, struct txpwrtrack_cfg *pCon ConfigureTxpowerTrack_8723B(pConfig); } -/* */ /* <20121113, Kordan> This function should be called when TxAGC changed. */ /* Otherwise the previous compensation is gone, because we record the */ /* delta of temperature between two TxPowerTracking watch dogs. */ -/* */ /* NOTE: If Tx BB swing or Tx scaling is varified during run-time, still */ /* need to call this function. */ -/* */ void ODM_ClearTxPowerTrackingState(struct dm_odm_t *pDM_Odm) { struct hal_com_data *pHalData = GET_HAL_DATA(pDM_Odm->Adapter); @@ -117,9 +114,8 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter) } /* Calculate Average ThermalValue after average enough times */ - if (ThermalValue_AVG_count) { + if (ThermalValue_AVG_count) ThermalValue = (u8)(ThermalValue_AVG / ThermalValue_AVG_count); - } /* 4 5. Calculate delta, delta_LCK */ /* delta" here is used to determine whether thermal value changes or not. */ @@ -226,8 +222,6 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter) } if (pDM_Odm->RFCalibrateInfo.CCK_index > c.SwingTableSize_CCK - 1) pDM_Odm->RFCalibrateInfo.CCK_index = c.SwingTableSize_CCK - 1; - /* else if (pDM_Odm->RFCalibrateInfo.CCK_index < 0) */ - /* pDM_Odm->RFCalibrateInfo.CCK_index = 0; */ } else { for (p = RF_PATH_A; p < c.RfPathCount; p++) pDM_Odm->RFCalibrateInfo.PowerIndexOffset[p] = 0; @@ -241,10 +235,9 @@ void ODM_TXPowerTrackingCallback_ThermalMeter(struct adapter *Adapter) /* 4 7.2 Configure the Swing Table to adjust Tx Power. */ pDM_Odm->RFCalibrateInfo.bTxPowerChanged = true; /* Always true after Tx Power is adjusted by power tracking. */ - /* */ /* 2012/04/23 MH According to Luke's suggestion, we can not write BB digital */ /* to increase TX power. Otherwise, EVM will be bad. */ - /* */ + /* 2012/04/25 MH Add for tx power tracking to set tx power in tx agc for 88E. */ if (ThermalValue > pHalData->EEPROMThermalMeter) { diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c index 6c5f56d5a1f4..05cb0575f2b5 100644 --- a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c +++ b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.c @@ -359,9 +359,6 @@ static u8 phy_PathA_IQK_8723B( PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0003f); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xc7f87); - /* disable path B PA in TXIQK mode */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, bRFRegOffsetMask, 0x00020); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x40ec1); */ /* 1 Tx IQK */ /* IQK setting */ @@ -372,7 +369,6 @@ static u8 phy_PathA_IQK_8723B( PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_A, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); -/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x8214010a); */ PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x821303ea); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); @@ -400,7 +396,6 @@ static u8 phy_PathA_IQK_8723B( PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_8723B*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -458,7 +453,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); /* LNA2 off, PA on for Dcut */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7fb7); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */ PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x808000); /* IQK setting */ @@ -471,7 +465,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); -/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82160c1f); */ PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82130ff0); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); @@ -499,7 +492,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_8723B*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -542,7 +534,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); /* LAN2 on, PA off for Dcut */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7d77); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */ /* PA, PAD setting */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0xf80); @@ -558,7 +549,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82110000); -/* PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x281604c2); */ PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x2813001f); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000); @@ -585,7 +575,6 @@ static u8 phy_PathA_RxIQK8723B( PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_8723B*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -637,11 +626,6 @@ static u8 phy_PathB_IQK_8723B(struct adapter *padapter) /* leave IQK mode */ PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); - /* in TXIQK mode */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x20000); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0003f); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xc7f87); */ /* enable path B PA in TXIQK mode */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x30fc1); @@ -656,7 +640,6 @@ static u8 phy_PathB_IQK_8723B(struct adapter *padapter) PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); -/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82140114); */ PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x821303ea); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); @@ -670,7 +653,6 @@ static u8 phy_PathB_IQK_8723B(struct adapter *padapter) /* switch to path B */ PHY_SetBBReg(pDM_Odm->Adapter, rS0S1_PathSwitch, bMaskDWord, 0x00000280); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */ /* GNT_BT = 0 */ PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); @@ -680,7 +662,6 @@ static u8 phy_PathB_IQK_8723B(struct adapter *padapter) PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_88E*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -748,7 +729,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); -/* PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82160c1f); */ PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82130ff0); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x28110000); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); @@ -762,7 +742,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) /* switch to path B */ PHY_SetBBReg(pDM_Odm->Adapter, rS0S1_PathSwitch, bMaskDWord, 0x00000280); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */ /* GNT_BT = 0 */ PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); @@ -772,7 +751,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_88E*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -815,16 +793,11 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_RCK_OS, bRFRegOffsetMask, 0x18000); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G1, bRFRegOffsetMask, 0x0001f); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_TXPA_G2, bRFRegOffsetMask, 0xf7d77); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x0); */ /* open PA S1 & close SMIXER */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x30ebd); - /* PA, PAD setting */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xdf, bRFRegOffsetMask, 0xf80); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x56, bRFRegOffsetMask, 0x51000); */ - /* IQK setting */ PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK, bMaskDWord, 0x01004800); @@ -835,7 +808,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_Tone_B, bMaskDWord, 0x38008c1c); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_A, bMaskDWord, 0x82110000); -/* PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x281604c2); */ PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_A, bMaskDWord, 0x2813001f); PHY_SetBBReg(pDM_Odm->Adapter, rTx_IQK_PI_B, bMaskDWord, 0x82110000); PHY_SetBBReg(pDM_Odm->Adapter, rRx_IQK_PI_B, bMaskDWord, 0x28110000); @@ -848,7 +820,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) /* switch to path B */ PHY_SetBBReg(pDM_Odm->Adapter, rS0S1_PathSwitch, bMaskDWord, 0x00000280); -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, bRFRegOffsetMask, 0xeffe0); */ /* GNT_BT = 0 */ PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, 0x00000800); @@ -858,7 +829,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) PHY_SetBBReg(pDM_Odm->Adapter, rIQK_AGC_Pts, bMaskDWord, 0xf8000000); /* delay x ms */ - /* PlatformStallExecution(IQK_DELAY_TIME_88E*1000); */ mdelay(IQK_DELAY_TIME_8723B); /* restore Ant Path */ @@ -873,11 +843,6 @@ static u8 phy_PathB_RxIQK8723B(struct adapter *padapter, bool configPathB) regEAC = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord); regEA4 = PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord); - /* PA/PAD controlled by 0x0 */ - /* leave IQK mode */ -/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, 0xffffff00, 0x00000000); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_B, 0xdf, bRFRegOffsetMask, 0x180); */ - /* Allen 20131125 */ tmp = (regEAC & 0x03FF0000)>>16; if ((tmp & 0x200) > 0) @@ -948,7 +913,6 @@ static void _PHY_PathAFillIQKMatrix8723B( pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][KEY] = rOFDM0_RxIQExtAnta; pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xCA0][VAL] = 0xfffffff & PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, bMaskDWord); pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][KEY] = rOFDM0_XARxIQImbalance; -/* pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, bMaskDWord); */ pRFCalibrateInfo->RxIQC_8723B[PATH_S1][IDX_0xC14][VAL] = 0x40000100; return; } @@ -1008,8 +972,6 @@ static void _PHY_PathBFillIQKMatrix8723B( /* 2 Tx IQC */ PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, 0xF0000000, ((TX1_C&0x3C0)>>6)); -/* pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC9C][KEY] = rOFDM0_XDTxAFE; */ -/* pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC9C][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, bMaskDWord); */ pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC94][KEY] = rOFDM0_XCTxAFE; pRFCalibrateInfo->TxIQC_8723B[PATH_S0][IDX_0xC94][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XDTxAFE, bMaskDWord); @@ -1023,7 +985,6 @@ static void _PHY_PathBFillIQKMatrix8723B( if (bTxOnly) { pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][KEY] = rOFDM0_XARxIQImbalance; -/* pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XARxIQImbalance, bMaskDWord); */ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] = 0x40000100; pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][KEY] = rOFDM0_RxIQExtAnta; pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][VAL] = 0x0fffffff & PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, bMaskDWord); @@ -1039,15 +1000,12 @@ static void _PHY_PathBFillIQKMatrix8723B( pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xC14][VAL] = PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_XBRxIQImbalance, bMaskDWord); reg = (result[final_candidate][7] >> 6) & 0xF; -/* PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_AGCRSSITable, 0x0000F000, reg); */ pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][KEY] = rOFDM0_RxIQExtAnta; pRFCalibrateInfo->RxIQC_8723B[PATH_S0][IDX_0xCA0][VAL] = (reg << 28)|(PHY_QueryBBReg(pDM_Odm->Adapter, rOFDM0_RxIQExtAnta, bMaskDWord)&0x0fffffff); } } -/* */ /* 2011/07/26 MH Add an API for testing IQK fail case. */ -/* */ /* MP Already declare in odm.c */ void ODM_SetIQCbyRFpath(struct dm_odm_t *pDM_Odm, u32 RFpath) @@ -1324,8 +1282,6 @@ static void phy_IQCalibrate_8723B( /* Note: IQ calibration must be performed after loading */ /* PHY_REG.txt , and radio_a, radio_b.txt */ - /* u32 bbvalue; */ - if (t == 0) { /* Save ADDA parameters, turn Path A ADDA on */ @@ -1338,25 +1294,15 @@ static void phy_IQCalibrate_8723B( /* no serial mode */ - /* save RF path for 8723B */ -/* Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); */ -/* Path_SEL_RF = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff); */ - /* MAC settings */ _PHY_MACSettingCalibration8723B(padapter, IQK_MAC_REG, pDM_Odm->RFCalibrateInfo.IQK_MAC_backup); /* BB setting */ - /* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_RFMOD, BIT24, 0x00); */ PHY_SetBBReg(pDM_Odm->Adapter, rCCK0_AFESetting, 0x0f000000, 0xf); PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_TRxPathEnable, bMaskDWord, 0x03a05600); PHY_SetBBReg(pDM_Odm->Adapter, rOFDM0_TRMuxPar, bMaskDWord, 0x000800e4); PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XCD_RFInterfaceSW, bMaskDWord, 0x22204000); -/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XAB_RFInterfaceSW, BIT10, 0x01); */ -/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XAB_RFInterfaceSW, BIT26, 0x01); */ -/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XA_RFInterfaceOE, BIT10, 0x00); */ -/* PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_XB_RFInterfaceOE, BIT10, 0x00); */ - /* RX IQ calibration setting for 8723B D cut large current issue when leaving IPS */ PHY_SetBBReg(pDM_Odm->Adapter, rFPGA0_IQK, bMaskH3Bytes, 0x000000); @@ -1388,8 +1334,6 @@ static void phy_IQCalibrate_8723B( for (i = 0 ; i < retryCount ; i++) { PathAOK = phy_PathA_RxIQK8723B(padapter, is2T, RF_Path); if (PathAOK == 0x03) { -/* result[t][0] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF0000)>>16; */ -/* result[t][1] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord)&0x3FF0000)>>16; */ result[t][2] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord)&0x3FF0000)>>16; result[t][3] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord)&0x3FF0000)>>16; break; @@ -1417,8 +1361,6 @@ static void phy_IQCalibrate_8723B( for (i = 0 ; i < retryCount ; i++) { PathBOK = phy_PathB_RxIQK8723B(padapter, is2T); if (PathBOK == 0x03) { -/* result[t][0] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_Before_IQK_A, bMaskDWord)&0x3FF0000)>>16; */ -/* result[t][1] = (PHY_QueryBBReg(pDM_Odm->Adapter, rTx_Power_After_IQK_A, bMaskDWord)&0x3FF0000)>>16; */ result[t][6] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_Before_IQK_A_2, bMaskDWord)&0x3FF0000)>>16; result[t][7] = (PHY_QueryBBReg(pDM_Odm->Adapter, rRx_Power_After_IQK_A_2, bMaskDWord)&0x3FF0000)>>16; break; @@ -1440,10 +1382,6 @@ static void phy_IQCalibrate_8723B( _PHY_ReloadADDARegisters8723B(padapter, IQK_BB_REG_92C, pDM_Odm->RFCalibrateInfo.IQK_BB_backup, IQK_BB_REG_NUM); - /* Reload RF path */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff, Path_SEL_RF); */ - /* Allen initial gain 0xc50 */ /* Restore RX initial gain */ PHY_SetBBReg(pDM_Odm->Adapter, 0xc50, bMaskByte0, 0x50); @@ -1553,7 +1491,6 @@ void PHY_IQCalibrate_8723B( rOFDM0_XDTxAFE, rOFDM0_RxIQExtAnta }; -/* u32 Path_SEL_BB = 0; */ u32 GNT_BT_default; if (!ODM_CheckPowerStatus(padapter)) @@ -1618,13 +1555,6 @@ void PHY_IQCalibrate_8723B( /* save default GNT_BT */ GNT_BT_default = PHY_QueryBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord); - /* Save RF Path */ -/* Path_SEL_BB = PHY_QueryBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord); */ -/* Path_SEL_RF = PHY_QueryRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff); */ - - /* set GNT_BT = 0, pause BT traffic */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT12, 0x0); */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT11, 0x1); */ for (i = 0; i < 8; i++) { result[0][i] = 0; @@ -1716,9 +1646,6 @@ void PHY_IQCalibrate_8723B( /* restore GNT_BT */ PHY_SetBBReg(pDM_Odm->Adapter, 0x764, bMaskDWord, GNT_BT_default); - /* Restore RF Path */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x948, bMaskDWord, Path_SEL_BB); */ -/* PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xb0, 0xfffff, Path_SEL_RF); */ /* Resotr RX mode table parameter */ PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, RF_WE_LUT, 0x80000, 0x1); @@ -1728,10 +1655,6 @@ void PHY_IQCalibrate_8723B( PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0xed, 0x20, 0x1); PHY_SetRFReg(pDM_Odm->Adapter, RF_PATH_A, 0x43, bRFRegOffsetMask, 0x300bd); - /* set GNT_BT = HW control */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT12, 0x0); */ -/* PHY_SetBBReg(pDM_Odm->Adapter, 0x764, BIT11, 0x0); */ - if (Is2ant) { if (RF_Path == 0x0) /* S1 */ ODM_SetIQCbyRFpath(pDM_Odm, 0); diff --git a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h index 14b328378b8b..9795bbcf0b35 100644 --- a/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h +++ b/drivers/staging/rtl8723bs/hal/HalPhyRf_8723B.h @@ -13,7 +13,7 @@ #define IQK_DEFERRED_TIME_8723B 4 #define index_mapping_NUM_8723B 15 #define AVG_THERMAL_NUM_8723B 4 -#define RF_T_METER_8723B 0x42 /* */ +#define RF_T_METER_8723B 0x42 void ConfigureTxpowerTrack_8723B(struct txpwrtrack_cfg *pConfig); @@ -35,14 +35,10 @@ void PHY_IQCalibrate_8723B( void ODM_SetIQCbyRFpath(struct dm_odm_t *pDM_Odm, u32 RFpath); -/* */ /* LC calibrate */ -/* */ void PHY_LCCalibrate_8723B(struct dm_odm_t *pDM_Odm); -/* */ /* AP calibrate */ -/* */ void PHY_DigitalPredistortion_8723B(struct adapter *padapter); void _PHY_SaveADDARegisters_8723B( diff --git a/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c b/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c index c254e3481cc2..d23fe86d53bc 100644 --- a/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c +++ b/drivers/staging/rtl8723bs/hal/HalPwrSeqCmd.c @@ -23,15 +23,11 @@ #include <drv_types.h> #include <HalPwrSeqCmd.h> -/* */ /* Description: */ /* This routine deal with the Power Configuration CMDs parsing for RTL8723/RTL8188E Series IC. */ -/* */ /* Assumption: */ /* We should follow specific format which was released from HW SD. */ -/* */ /* 2011.07.07, added by Roger. */ -/* */ u8 HalPwrSeqCmdParsing( struct adapter *padapter, u8 CutVersion, @@ -64,10 +60,8 @@ u8 HalPwrSeqCmdParsing( case PWR_CMD_WRITE: offset = GET_PWR_CFG_OFFSET(PwrCfgCmd); - /* */ /* <Roger_Notes> We should deal with interface specific address mapping for some interfaces, e.g., SDIO interface */ /* 2011.07.07. */ - /* */ if (GET_PWR_CFG_BASE(PwrCfgCmd) == PWR_BASEADDR_SDIO) { /* Read Back SDIO Local value */ value = SdioLocalCmd52Read1Byte(padapter, offset); diff --git a/drivers/staging/rtl8723bs/hal/hal_btcoex.c b/drivers/staging/rtl8723bs/hal/hal_btcoex.c index 61cdc27a64ac..a06e2e5b516c 100644 --- a/drivers/staging/rtl8723bs/hal/hal_btcoex.c +++ b/drivers/staging/rtl8723bs/hal/hal_btcoex.c @@ -15,9 +15,7 @@ struct btc_coexist GLBtCoexist; static u8 GLBtcWiFiInScanState; static u8 GLBtcWiFiInIQKState; -/* */ /* Debug related function */ -/* */ static u8 halbtcoutsrc_IsBtCoexistAvailable(struct btc_coexist *pBtCoexist) { if (!pBtCoexist->bBinded || !pBtCoexist->Adapter) @@ -197,11 +195,9 @@ static u32 _halbtcoutsrc_GetWifiLinkStatus(struct adapter *padapter) static u32 halbtcoutsrc_GetWifiLinkStatus(struct btc_coexist *pBtCoexist) { - /* */ /* return value: */ /* [31:16]=> connected port number */ /* [15:0]=> port connected bit define */ - /* */ struct adapter *padapter; u32 retVal; @@ -539,7 +535,6 @@ static u8 halbtcoutsrc_Set(void *pBtcContext, u8 setType, void *pInBuf) case BTC_SET_ACT_CTRL_8723B_ANT: ret = false; break; - /* */ default: ret = false; break; @@ -548,9 +543,7 @@ static u8 halbtcoutsrc_Set(void *pBtcContext, u8 setType, void *pInBuf) return ret; } -/* */ /* IO related function */ -/* */ static u8 halbtcoutsrc_Read1Byte(void *pBtcContext, u32 RegAddr) { struct btc_coexist *pBtCoexist; @@ -746,9 +739,7 @@ static void halbtcoutsrc_FillH2cCmd(void *pBtcContext, u8 elementId, u32 cmdLen, rtw_hal_fill_h2c_cmd(padapter, elementId, cmdLen, pCmdBuffer); } -/* */ /* Extern functions called by other module */ -/* */ static u8 EXhalbtcoutsrc_BindBtCoexWithAdapter(void *padapter) { struct btc_coexist *pBtCoexist = &GLBtCoexist; @@ -783,8 +774,6 @@ void hal_btcoex_Initialize(void *padapter) pBtCoexist = &GLBtCoexist; - /* pBtCoexist->statistics.cntBind++; */ - pBtCoexist->chipInterface = BTC_INTF_SDIO; EXhalbtcoutsrc_BindBtCoexWithAdapter(padapter); @@ -874,15 +863,10 @@ void EXhalbtcoutsrc_IpsNotify(struct btc_coexist *pBtCoexist, u8 type) else ipsType = BTC_IPS_ENTER; - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_IpsNotify(pBtCoexist, ipsType); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_IpsNotify(pBtCoexist, ipsType); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_LpsNotify(struct btc_coexist *pBtCoexist, u8 type) @@ -925,15 +909,10 @@ void EXhalbtcoutsrc_ScanNotify(struct btc_coexist *pBtCoexist, u8 type) GLBtcWiFiInScanState = false; } - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_ScanNotify(pBtCoexist, scanType); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_ScanNotify(pBtCoexist, scanType); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_ConnectNotify(struct btc_coexist *pBtCoexist, u8 action) @@ -951,15 +930,10 @@ void EXhalbtcoutsrc_ConnectNotify(struct btc_coexist *pBtCoexist, u8 action) else assoType = BTC_ASSOCIATE_FINISH; - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_ConnectNotify(pBtCoexist, assoType); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_ConnectNotify(pBtCoexist, assoType); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_MediaStatusNotify(struct btc_coexist *pBtCoexist, enum @@ -979,15 +953,10 @@ void EXhalbtcoutsrc_MediaStatusNotify(struct btc_coexist *pBtCoexist, enum else mStatus = BTC_MEDIA_DISCONNECT; - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_MediaStatusNotify(pBtCoexist, mStatus); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_MediaStatusNotify(pBtCoexist, mStatus); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 pktType) @@ -1010,15 +979,10 @@ void EXhalbtcoutsrc_SpecialPacketNotify(struct btc_coexist *pBtCoexist, u8 pktTy return; } - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_SpecialPacketNotify(pBtCoexist, packetType); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_SpecialPacketNotify(pBtCoexist, packetType); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8 length) @@ -1028,15 +992,10 @@ void EXhalbtcoutsrc_BtInfoNotify(struct btc_coexist *pBtCoexist, u8 *tmpBuf, u8 pBtCoexist->statistics.cntBtInfoNotify++; - /* All notify is called in cmd thread, don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_BtInfoNotify(pBtCoexist, tmpBuf, length); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_BtInfoNotify(pBtCoexist, tmpBuf, length); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_HaltNotify(struct btc_coexist *pBtCoexist) @@ -1057,10 +1016,8 @@ void EXhalbtcoutsrc_PnpNotify(struct btc_coexist *pBtCoexist, u8 pnpState) if (!halbtcoutsrc_IsBtCoexistAvailable(pBtCoexist)) return; - /* */ /* currently only 1ant we have to do the notification, */ /* once pnp is notified to sleep state, we have to leave LPS that we can sleep normally. */ - /* */ if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_PnpNotify(pBtCoexist, pnpState); @@ -1075,15 +1032,10 @@ void EXhalbtcoutsrc_Periodical(struct btc_coexist *pBtCoexist) pBtCoexist->statistics.cntPeriodical++; /* Periodical should be called in cmd thread, */ - /* don't need to leave low power again */ -/* halbtcoutsrc_LeaveLowPower(pBtCoexist); */ - if (pBtCoexist->boardInfo.btdmAntNum == 2) EXhalbtc8723b2ant_Periodical(pBtCoexist); else if (pBtCoexist->boardInfo.btdmAntNum == 1) EXhalbtc8723b1ant_Periodical(pBtCoexist); - -/* halbtcoutsrc_NormalLowPower(pBtCoexist); */ } void EXhalbtcoutsrc_SetAntNum(u8 type, u8 antNum) @@ -1093,16 +1045,12 @@ void EXhalbtcoutsrc_SetAntNum(u8 type, u8 antNum) GLBtCoexist.boardInfo.btdmAntNum = antNum; } else if (type == BT_COEX_ANT_TYPE_ANTDIV) { GLBtCoexist.boardInfo.btdmAntNum = antNum; - /* GLBtCoexist.boardInfo.btdmAntPos = BTC_ANTENNA_AT_MAIN_PORT; */ } else if (type == BT_COEX_ANT_TYPE_DETECTED) { GLBtCoexist.boardInfo.btdmAntNum = antNum; - /* GLBtCoexist.boardInfo.btdmAntPos = BTC_ANTENNA_AT_MAIN_PORT; */ } } -/* */ /* Currently used by 8723b only, S0 or S1 */ -/* */ void EXhalbtcoutsrc_SetSingleAntPath(u8 singleAntPath) { GLBtCoexist.boardInfo.singleAntPath = singleAntPath; diff --git a/drivers/staging/rtl8723bs/hal/hal_com.c b/drivers/staging/rtl8723bs/hal/hal_com.c index 2c856a2721b2..656c75ded16f 100644 --- a/drivers/staging/rtl8723bs/hal/hal_com.c +++ b/drivers/staging/rtl8723bs/hal/hal_com.c @@ -247,13 +247,13 @@ u8 HwRateToMRate(u8 rate) return ret_rate; } -void HalSetBrateCfg(struct adapter *Adapter, u8 *mBratesOS, u16 *pBrateCfg) +void HalSetBrateCfg(struct adapter *Adapter, u8 *basic_rates, u16 *pBrateCfg) { u8 i, is_brate, brate; for (i = 0; i < NDIS_802_11_LENGTH_RATES_EX; i++) { - is_brate = mBratesOS[i] & IEEE80211_BASIC_RATE_MASK; - brate = mBratesOS[i] & 0x7f; + is_brate = basic_rates[i] & IEEE80211_BASIC_RATE_MASK; + brate = basic_rates[i] & 0x7f; if (is_brate) { switch (brate) { diff --git a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c index df0eaff4c841..3712b38cd37d 100644 --- a/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c +++ b/drivers/staging/rtl8723bs/hal/hal_com_phycfg.c @@ -77,7 +77,7 @@ static void phy_StoreTxPowerByRateBase(struct adapter *padapter) } u8 PHY_GetRateSectionIndexOfTxPowerByRate( - struct adapter *padapter, u32 RegAddr, u32 BitMask + struct adapter *padapter, u32 reg_addr, u32 bit_mask ) { struct hal_com_data *pHalData = GET_HAL_DATA(padapter); @@ -85,7 +85,7 @@ u8 PHY_GetRateSectionIndexOfTxPowerByRate( u8 index = 0; if (pDM_Odm->PhyRegPgVersion == 0) { - switch (RegAddr) { + switch (reg_addr) { case rTxAGC_A_Rate18_06: index = 0; break; @@ -96,9 +96,9 @@ u8 PHY_GetRateSectionIndexOfTxPowerByRate( index = 6; break; case rTxAGC_B_CCK11_A_CCK2_11: - if (BitMask == bMaskH3Bytes) + if (bit_mask == bMaskH3Bytes) index = 7; - else if (BitMask == 0x000000ff) + else if (bit_mask == 0x000000ff) index = 15; break; @@ -739,7 +739,7 @@ s8 phy_get_tx_pwr_lmt(struct adapter *adapter, u32 reg_pwr_tbl_sel, return pwr_lmt; } -void PHY_ConvertTxPowerLimitToPowerIndex(struct adapter *Adapter) +void phy_tx_power_limit_to_index(struct adapter *Adapter) { struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); struct registry_priv *r = &Adapter->registrypriv; diff --git a/drivers/staging/rtl8723bs/hal/hal_intf.c b/drivers/staging/rtl8723bs/hal/hal_intf.c index 2caade1a8bdd..1443875d1369 100644 --- a/drivers/staging/rtl8723bs/hal/hal_intf.c +++ b/drivers/staging/rtl8723bs/hal/hal_intf.c @@ -115,8 +115,10 @@ s32 rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe) /* * [IMPORTANT] This function would be run in interrupt context. */ -s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe) +int rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe) { + int ret; + update_mgntframe_attrib_addr(padapter, pmgntframe); /* pframe = (u8 *)(pmgntframe->buf_addr) + TXDESC_OFFSET; */ /* pwlanhdr = (struct rtw_ieee80211_hdr *)pframe; */ @@ -130,7 +132,10 @@ s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe) pmgntframe->attrib.encrypt = _AES_; pmgntframe->attrib.bswenc = true; } - rtw_mgmt_xmitframe_coalesce(padapter, pmgntframe->pkt, pmgntframe); + ret = rtw_mgmt_xmitframe_coalesce(padapter, pmgntframe->pkt, pmgntframe); + + if (ret) + return ret; } return rtl8723bs_mgnt_xmit(padapter, pmgntframe); diff --git a/drivers/staging/rtl8723bs/hal/odm.c b/drivers/staging/rtl8723bs/hal/odm.c index d18df407e365..f3989fa33d9f 100644 --- a/drivers/staging/rtl8723bs/hal/odm.c +++ b/drivers/staging/rtl8723bs/hal/odm.c @@ -358,8 +358,6 @@ bool ODM_RAStateCheck( return false; } -/* */ - /* 3 ============================================================ */ /* 3 RSSI Monitor */ /* 3 ============================================================ */ @@ -456,8 +454,7 @@ static void odm_RSSIMonitorCheck(struct dm_odm_t *pDM_Odm) return; odm_RSSIMonitorCheckCE(pDM_Odm); - -} /* odm_RSSIMonitorCheck */ +} /* 3 ============================================================ */ /* 3 SW Antenna Diversity */ @@ -552,19 +549,14 @@ void ODM_TXPowerTrackingCheck(struct dm_odm_t *pDM_Odm) pDM_Odm->RFCalibrateInfo.TM_Trigger = 1; return; - } else { - ODM_TXPowerTrackingCallback_ThermalMeter(Adapter); - pDM_Odm->RFCalibrateInfo.TM_Trigger = 0; } + ODM_TXPowerTrackingCallback_ThermalMeter(Adapter); + pDM_Odm->RFCalibrateInfo.TM_Trigger = 0; } -/* */ /* 3 Export Interface */ -/* */ -/* */ /* 2011/09/21 MH Add to describe different team necessary resource allocate?? */ -/* */ void ODM_DMInit(struct dm_odm_t *pDM_Odm) { @@ -586,11 +578,9 @@ void ODM_DMInit(struct dm_odm_t *pDM_Odm) odm_SwAntDetectInit(pDM_Odm); } -/* */ /* 2011/09/20 MH This is the entry pointer for all team to execute HW out source DM. */ /* You can not add any dummy function here, be care, you can only use DM structure */ /* to perform any new ODM_DM. */ -/* */ void ODM_DMWatchdog(struct dm_odm_t *pDM_Odm) { odm_CommonInfoSelfUpdate(pDM_Odm); @@ -633,18 +623,12 @@ void ODM_DMWatchdog(struct dm_odm_t *pDM_Odm) pDM_Odm->PhyDbgInfo.NumQryBeaconPkt = 0; } -/* */ /* Init /.. Fixed HW value. Only init time. */ -/* */ void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, u32 Value) { - /* */ /* This section is used for init value */ - /* */ switch (CmnInfo) { - /* */ /* Fixed ODM value. */ - /* */ case ODM_CMNINFO_ABILITY: pDM_Odm->SupportAbility = (u32)Value; break; @@ -729,13 +713,9 @@ void ODM_CmnInfoInit(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, u32 V void ODM_CmnInfoHook(struct dm_odm_t *pDM_Odm, enum odm_cmninfo_e CmnInfo, void *pValue) { - /* */ /* Hook call by reference pointer. */ - /* */ switch (CmnInfo) { - /* */ /* Dynamic call by reference pointer. */ - /* */ case ODM_CMNINFO_MAC_PHY_MODE: pDM_Odm->pMacPhyMode = pValue; break; @@ -857,13 +837,9 @@ void ODM_CmnInfoPtrArrayHook( void *pValue ) { - /* */ /* Hook call by reference pointer. */ - /* */ switch (CmnInfo) { - /* */ /* Dynamic call by reference pointer. */ - /* */ case ODM_CMNINFO_STA_STATUS: pDM_Odm->pODM_StaInfo[Index] = (PSTA_INFO_T)pValue; break; @@ -875,14 +851,10 @@ void ODM_CmnInfoPtrArrayHook( } -/* */ /* Update Band/CHannel/.. The values are dynamic but non-per-packet. */ -/* */ void ODM_CmnInfoUpdate(struct dm_odm_t *pDM_Odm, u32 CmnInfo, u64 Value) { - /* */ /* This init variable may be changed in run time. */ - /* */ switch (CmnInfo) { case ODM_CMNINFO_LINK_IN_PROGRESS: pDM_Odm->bLinkInProcess = (bool)Value; diff --git a/drivers/staging/rtl8723bs/hal/odm.h b/drivers/staging/rtl8723bs/hal/odm.h index a20b48660e63..3532f0d79363 100644 --- a/drivers/staging/rtl8723bs/hal/odm.h +++ b/drivers/staging/rtl8723bs/hal/odm.h @@ -197,9 +197,8 @@ struct odm_rate_adaptive { #define DM_Type_ByFW 0 #define DM_Type_ByDriver 1 -/* */ /* Declare for common info */ -/* */ + #define MAX_PATH_NUM_8723B 1 #define IQK_THRESHOLD 8 @@ -262,9 +261,7 @@ struct odm_mac_status_info { u8 test; }; -/* */ /* 2011/10/20 MH Define Common info enum for all team. */ -/* */ enum odm_cmninfo_e { /* Fixed value: */ @@ -350,9 +347,7 @@ enum odm_cmninfo_e { /* 2011/10/20 MH Define ODM support ability. ODM_CMNINFO_ABILITY */ enum { /* _ODM_Support_Ability_Definition */ - /* */ /* BB ODM section BIT 0-15 */ - /* */ ODM_BB_DIG = BIT(0), ODM_BB_RA_MASK = BIT(1), ODM_BB_DYNAMIC_TXPWR = BIT(2), @@ -382,7 +377,6 @@ enum { /* _ODM_Support_Ability_Definition */ /* ODM_CMNINFO_INTERFACE */ enum { /* tag_ODM_Support_Interface_Definition */ ODM_ITRF_SDIO = 0x4, - ODM_ITRF_ALL = 0x7, }; /* ODM_CMNINFO_IC_TYPE */ @@ -411,9 +405,7 @@ enum { /* tag_ODM_Fab_Version_Definition */ ODM_UMC = 1, }; -/* */ /* For example 1T2R (A+AB = BIT0|BIT4|BIT5) */ -/* */ enum { /* tag_ODM_RF_Type_Definition */ ODM_1T1R = 0, ODM_1T2R = 1, @@ -425,9 +417,7 @@ enum { /* tag_ODM_RF_Type_Definition */ ODM_4T4R = 7, }; -/* */ /* ODM Dynamic common info value definition */ -/* */ /* ODM_CMNINFO_WM_MODE */ enum { /* tag_Wireless_Mode_Definition */ @@ -532,8 +522,6 @@ struct odm_rf_cal_t { /* ODM_RF_Calibration_Structure */ u8 DeltaSwingTableIdx_2GA_P_8188E[DELTA_SWINGIDX_SIZE]; u8 DeltaSwingTableIdx_2GA_N_8188E[DELTA_SWINGIDX_SIZE]; - /* */ - /* for IQK */ u32 RegC04; u32 Reg874; @@ -568,10 +556,8 @@ struct odm_rf_cal_t { /* ODM_RF_Calibration_Structure */ u32 TxLOK[2]; }; -/* */ -/* ODM Dynamic common info value definition */ -/* */ +/* ODM Dynamic common info value definition */ struct fat_t { /* _FAST_ANTENNA_TRAINNING_ */ u8 Bssid[6]; u8 antsel_rx_keep_0; @@ -634,9 +620,7 @@ enum phy_reg_pg_type { /* _BASEBAND_CONFIG_PHY_REG_PG_VALUE_TYPE */ PHY_REG_PG_EXACT_VALUE = 1 }; -/* */ /* Antenna detection information from single tone mechanism, added by Roger, 2012.11.27. */ -/* */ struct ant_detected_info { bool bAntDetected; u32 dBForAntA; @@ -644,9 +628,7 @@ struct ant_detected_info { u32 dBForAntO; }; -/* */ /* 2011/09/22 MH Copy from SD4 defined structure. We use to support PHY DM integration. */ -/* */ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ struct adapter *Adapter; /* For CE/NIC team */ /* WHen you use Adapter or priv pointer, you must make sure the pointer is ready. */ @@ -669,9 +651,7 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ /* 1 COMMON INFORMATION */ - /* */ /* Init Value */ - /* */ /* HOOK BEFORE REG INIT----------- */ /* ODM Platform info AP/ADSL/CE/MP = 1/2/3/4 */ u8 SupportPlatform; @@ -709,9 +689,8 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ u8 AntDivType; /* HOOK BEFORE REG INIT----------- */ - /* */ /* Dynamic Value */ - /* */ + /* POINTER REFERENCE----------- */ u8 u8_temp; @@ -831,16 +810,13 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ u8 Adaptivity_IGI_upper; u8 NHM_cnt_0; - /* */ /* 2 Define STA info. */ /* _ODM_STA_INFO */ /* 2012/01/12 MH For MP, we need to reduce one array pointer for default port.?? */ PSTA_INFO_T pODM_StaInfo[ODM_ASSOCIATE_ENTRY_NUM]; - /* */ /* 2012/02/14 MH Add to share 88E ra with other SW team. */ /* We need to colelct all support abilit to a proper area. */ - /* */ bool RaSupport88E; /* Define ........... */ @@ -851,9 +827,7 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ /* Latest packet phy info (ODM write) */ struct odm_mac_status_info *pMacInfo; - /* */ /* ODM Structure */ - /* */ struct fat_t DM_FatTable; struct dig_t DM_DigTable; struct ps_t DM_PSTable; @@ -870,9 +844,7 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ u32 WMMEDCA_BE; struct pathdiv_t DM_PathDiv; /* Copy from SD4 structure */ - /* */ /* ================================================== */ - /* */ /* common */ @@ -900,9 +872,7 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ struct odm_rf_cal_t RFCalibrateInfo; - /* */ /* TX power tracking */ - /* */ u8 BbSwingIdxOfdm[MAX_RF_PATH]; u8 BbSwingIdxOfdmCurrent; u8 BbSwingIdxOfdmBase[MAX_RF_PATH]; @@ -925,9 +895,8 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ bool Modify_TxAGC_Flag_PathA_CCK; s8 KfreeOffset[MAX_RF_PATH]; - /* */ + /* ODM system resource. */ - /* */ /* ODM relative time. */ struct timer_list PathDivSwitchTimer; @@ -936,10 +905,6 @@ struct dm_odm_t { /* DM_Out_Source_Dynamic_Mechanism_Structure */ struct timer_list FastAntTrainingTimer; /* ODM relative workitem. */ - - #if (BEAMFORMING_SUPPORT == 1) - RT_BEAMFORMING_INFO BeamformingInfo; - #endif }; enum ODM_BB_Config_Type { @@ -1023,16 +988,12 @@ enum { /* tag_RF_Type_Definition */ /* Maximal number of antenna detection mechanism needs to perform, added by Roger, 2011.12.28. */ #define MAX_ANTENNA_DETECTION_CNT 10 -/* */ /* Extern Global Variables. */ -/* */ extern u32 OFDMSwingTable_New[OFDM_TABLE_SIZE]; extern u8 CCKSwingTable_Ch1_Ch13_New[CCK_TABLE_SIZE][8]; extern u8 CCKSwingTable_Ch14_New[CCK_TABLE_SIZE][8]; -/* */ /* check Sta pointer valid or not */ -/* */ #define IS_STA_VALID(pSta) (pSta) /* 20100514 Joseph: Add definition for antenna switching test after link. */ /* This indicates two different the steps. */ @@ -1068,10 +1029,6 @@ u32 ODM_Get_Rate_Bitmap( u8 rssi_level ); -#if (BEAMFORMING_SUPPORT == 1) -BEAMFORMING_CAP Beamforming_GetEntryBeamCapByMacId(PMGNT_INFO pMgntInfo, u8 MacId); -#endif - void odm_TXPowerTrackingInit(struct dm_odm_t *pDM_Odm); void ODM_DMInit(struct dm_odm_t *pDM_Odm); diff --git a/drivers/staging/rtl8723bs/hal/odm_DIG.h b/drivers/staging/rtl8723bs/hal/odm_DIG.h index 5517ef79bdf5..1482290b263f 100644 --- a/drivers/staging/rtl8723bs/hal/odm_DIG.h +++ b/drivers/staging/rtl8723bs/hal/odm_DIG.h @@ -65,7 +65,6 @@ struct false_ALARM_STATISTICS { u32 Cnt_Crc8_fail; u32 Cnt_Mcs_fail; u32 Cnt_Ofdm_fail; - u32 Cnt_Ofdm_fail_pre; /* For RTL8881A */ u32 Cnt_Cck_fail; u32 Cnt_all; u32 Cnt_Fast_Fsync; diff --git a/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h b/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h index e2d244324ebe..4431a3ddf175 100644 --- a/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h +++ b/drivers/staging/rtl8723bs/hal/odm_DynamicTxPower.h @@ -11,7 +11,6 @@ #define TX_POWER_NEAR_FIELD_THRESH_LVL2 74 #define TX_POWER_NEAR_FIELD_THRESH_LVL1 67 #define TX_POWER_NEAR_FIELD_THRESH_AP 0x3F -#define TX_POWER_NEAR_FIELD_THRESH_8812 60 #define TxHighPwrLevel_Normal 0 #define TxHighPwrLevel_Level1 1 diff --git a/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c b/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c index 9baca2aea80e..f59a6ebc773d 100644 --- a/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c +++ b/drivers/staging/rtl8723bs/hal/odm_EdcaTurboCheck.c @@ -37,7 +37,7 @@ void ODM_EdcaTurboInit(void *pDM_VOID) pDM_Odm->DM_EDCA_Table.bCurrentTurboEDCA = false; pDM_Odm->DM_EDCA_Table.bIsCurRDLState = false; Adapter->recvpriv.bIsAnyNonBEPkts = false; -} /* ODM_InitEdcaTurbo */ +} void odm_EdcaTurboCheck(void *pDM_VOID) { @@ -51,7 +51,7 @@ void odm_EdcaTurboCheck(void *pDM_VOID) return; odm_EdcaTurboCheckCE(pDM_Odm); -} /* odm_CheckEdcaTurbo */ +} void odm_EdcaTurboCheckCE(void *pDM_VOID) { diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c index 1716252641d3..34b0369a7936 100644 --- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.c +++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.c @@ -46,9 +46,7 @@ s32 odm_signal_scale_mapping(struct dm_odm_t *dm_odm, s32 curr_sig) static u8 odm_evm_db_to_percentage(s8 value) { - /* */ /* -33dB~0dB to 0%~99% */ - /* */ s8 ret_val; ret_val = value; @@ -383,9 +381,7 @@ static void odm_Process_RSSIForDM( } } -/* */ /* Endianness before calling this API */ -/* */ void odm_phy_status_query(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info, u8 *phy_status, struct odm_packet_info *pkt_info) { @@ -396,10 +392,7 @@ void odm_phy_status_query(struct dm_odm_t *dm_odm, struct odm_phy_info *phy_info odm_Process_RSSIForDM(dm_odm, phy_info, pkt_info); } -/* */ /* If you want to add a new IC, Please follow below template and generate a new one. */ -/* */ -/* */ enum hal_status ODM_ConfigRFWithHeaderFile( struct dm_odm_t *pDM_Odm, diff --git a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h index 615145812ed2..ca3380328a72 100644 --- a/drivers/staging/rtl8723bs/hal/odm_HWConfig.h +++ b/drivers/staging/rtl8723bs/hal/odm_HWConfig.h @@ -8,9 +8,7 @@ #ifndef __HALHWOUTSRC_H__ #define __HALHWOUTSRC_H__ -/* */ /* structure and define */ -/* */ struct phy_rx_agc_info_t { #if (ODM_ENDIAN_TYPE == ODM_ENDIAN_LITTLE) diff --git a/drivers/staging/rtl8723bs/hal/odm_precomp.h b/drivers/staging/rtl8723bs/hal/odm_precomp.h index 2987857a8761..d4390fd203f1 100644 --- a/drivers/staging/rtl8723bs/hal/odm_precomp.h +++ b/drivers/staging/rtl8723bs/hal/odm_precomp.h @@ -19,7 +19,6 @@ /* include <drv_types.h> */ /* include <rtw_byteorder.h> */ /* include <hal_intf.h> */ -#define BEAMFORMING_SUPPORT 0 /* 2 Hardware Parameter Files */ diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c index d2b44ad60a4c..734fb9bb1867 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_cmd.c @@ -635,7 +635,6 @@ void rtl8723b_download_rsvd_page(struct adapter *padapter, u8 mstatus) DLBcnCount++; do { yield(); - /* mdelay(10); */ /* check rsvd page download OK. */ rtw_hal_get_hwreg(padapter, HW_VAR_BCN_VALID, (u8 *)(&bcn_valid)); poll++; @@ -895,7 +894,6 @@ void rtl8723b_download_BTCoex_AP_mode_rsvd_page(struct adapter *padapter) DLBcnCount++; do { yield(); -/* mdelay(10); */ /* check rsvd page download OK. */ rtw_hal_get_hwreg(padapter, HW_VAR_BCN_VALID, &bcn_valid); poll++; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c index 13efbfa5b58a..dce96ec19409 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_dm.c @@ -12,9 +12,7 @@ /* Global var */ -/* */ /* functions */ -/* */ static void Init_ODM_ComInfo_8723b(struct adapter *Adapter) { @@ -23,9 +21,7 @@ static void Init_ODM_ComInfo_8723b(struct adapter *Adapter) struct dm_priv *pdmpriv = &pHalData->dmpriv; u8 cut_ver, fab_ver; - /* */ /* Init Value */ - /* */ memset(pDM_Odm, 0, sizeof(*pDM_Odm)); pDM_Odm->Adapter = Adapter; @@ -76,12 +72,6 @@ static void Update_ODM_ComInfo_8723b(struct adapter *Adapter) | ODM_RF_CALIBRATION ; - /* */ - /* Pointer reference */ - /* */ - /* ODM_CMNINFO_MAC_PHY_MODE pHalData->MacPhyMode92D */ - /* ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_MAC_PHY_MODE,&(pDM_Odm->u8_temp)); */ - ODM_CmnInfoUpdate(pDM_Odm, ODM_CMNINFO_ABILITY, pdmpriv->InitODMFlag); ODM_CmnInfoHook(pDM_Odm, ODM_CMNINFO_TX_UNI, &(dvobj->traffic_stat.tx_bytes)); @@ -155,8 +145,6 @@ void rtl8723b_HalDmWatchDog(struct adapter *Adapter) ODM_CmnInfoUpdate(&pHalData->odmpriv, ODM_CMNINFO_LINK, bLinked); ODM_CmnInfoUpdate(&pHalData->odmpriv, ODM_CMNINFO_STATION_STATE, bsta_state); - /* ODM_CmnInfoUpdate(&pHalData->odmpriv , ODM_CMNINFO_RSSI_MIN, pdmpriv->MinUndecoratedPWDBForDM); */ - bBtDisabled = hal_btcoex_IsBtDisabled(Adapter); ODM_CmnInfoUpdate(&pHalData->odmpriv, ODM_CMNINFO_BT_ENABLED, @@ -216,7 +204,6 @@ void rtl8723b_HalDmWatchDog_in_LPS(struct adapter *Adapter) if (!(pDM_Odm->SupportAbility & ODM_BB_RSSI_MONITOR)) goto skip_lps_dm; - /* ODM_DMWatchdog(&pHalData->odmpriv); */ /* Do DIG by RSSI In LPS-32K */ /* 1 Find MIN-RSSI */ @@ -233,7 +220,6 @@ void rtl8723b_HalDmWatchDog_in_LPS(struct adapter *Adapter) pDM_Odm->RSSI_Min = pdmpriv->MinUndecoratedPWDBForDM; - /* if (pDM_DigTable->CurIGValue != pDM_Odm->RSSI_Min) */ if ( (pDM_DigTable->CurIGValue > pDM_Odm->RSSI_Min + 5) || (pDM_DigTable->CurIGValue < pDM_Odm->RSSI_Min - 5) diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c index 6a4a13544ca1..26c196b7f580 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_hal_init.c @@ -281,11 +281,8 @@ void rtl8723b_FirmwareSelfReset(struct adapter *padapter) } } -/* */ /* Description: */ /* Download 8192C firmware code. */ -/* */ -/* */ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw) { s32 rtStatus = _SUCCESS; @@ -430,14 +427,9 @@ void rtl8723b_InitializeFirmwareVars(struct adapter *padapter) /* Init H2C counter. by tynli. 2009.12.09. */ pHalData->LastHMEBoxNum = 0; -/* pHalData->H2CQueueHead = 0; */ -/* pHalData->H2CQueueTail = 0; */ -/* pHalData->H2CStopInsertQueue = false; */ } -/* */ /* Efuse related code */ -/* */ static u8 hal_EfuseSwitchToBank( struct adapter *padapter, u8 bank ) @@ -628,9 +620,7 @@ static void hal_ReadEFuse_WiFi( u16 i, total, used; u8 efuse_usage = 0; - /* */ /* Do NOT excess total size of EFuse table. Added by Roger, 2008.11.10. */ - /* */ if ((_offset + _size_byte) > EFUSE_MAX_MAP_LEN) return; @@ -717,9 +707,7 @@ static void hal_ReadEFuse_BT( u16 i, total, used; u8 efuse_usage; - /* */ /* Do NOT excess total size of EFuse table. Added by Roger, 2008.11.10. */ - /* */ if ((_offset + _size_byte) > EFUSE_BT_MAP_LEN) return; @@ -791,9 +779,7 @@ static void hal_ReadEFuse_BT( for (i = 0; i < _size_byte; i++) pbuf[i] = efuseTbl[_offset+i]; - /* */ /* Calculate Efuse utilization. */ - /* */ Hal_GetEfuseDefinition(padapter, EFUSE_BT, TYPE_AVAILABLE_EFUSE_BYTES_TOTAL, &total); used = (EFUSE_BT_REAL_BANK_CONTENT_LEN*(bank-1)) + eFuse_Addr - 1; efuse_usage = (u8)((used*100)/total); @@ -868,8 +854,6 @@ void _InitBurstPktLen_8723BS(struct adapter *Adapter) rtw_write8(Adapter, REG_MAX_AGGR_NUM_8723B, 0x1F); rtw_write8(Adapter, REG_PIFS_8723B, 0x00); rtw_write8(Adapter, REG_FWHW_TXQ_CTRL_8723B, rtw_read8(Adapter, REG_FWHW_TXQ_CTRL)&(~BIT(7))); - if (pHalData->AMPDUBurstMode) - rtw_write8(Adapter, REG_AMPDU_BURST_MODE_8723B, 0x5F); rtw_write8(Adapter, REG_AMPDU_MAX_TIME_8723B, 0x70); /* ARFB table 9 for 11ac 5G 2SS */ @@ -934,23 +918,17 @@ void rtl8723b_SetBeaconRelatedRegisters(struct adapter *padapter) bcn_ctrl_reg = REG_BCN_CTRL; - /* */ /* ATIM window */ - /* */ rtw_write16(padapter, REG_ATIMWND, 2); - /* */ /* Beacon interval (in unit of TU). */ - /* */ rtw_write16(padapter, REG_BCN_INTERVAL, pmlmeinfo->bcn_interval); rtl8723b_InitBeaconParameters(padapter); rtw_write8(padapter, REG_SLOT, 0x09); - /* */ /* Reset TSF Timer to zero, added by Roger. 2008.06.24 */ - /* */ value32 = rtw_read32(padapter, REG_TCR); value32 &= ~TSFRST; rtw_write32(padapter, REG_TCR, value32); @@ -1045,9 +1023,6 @@ void rtl8723b_init_default_value(struct adapter *padapter) /* init dm default value */ pdmpriv->TM_Trigger = 0;/* for IQK */ -/* pdmpriv->binitialized = false; */ -/* pdmpriv->prv_traffic_idx = 3; */ -/* pdmpriv->initialize = 0; */ pdmpriv->ThermalValue_HP_index = 0; for (i = 0; i < HP_THERMAL_NUM; i++) @@ -1086,11 +1061,7 @@ u8 GetEEPROMSize8723B(struct adapter *padapter) return size; } -/* */ -/* */ /* LLT R/W/Init function */ -/* */ -/* */ s32 rtl8723b_InitLLTTable(struct adapter *padapter) { unsigned long start, passing_time; @@ -1154,7 +1125,6 @@ void Hal_InitPGData(struct adapter *padapter, u8 *PROMContent) void Hal_EfuseParseIDCode(struct adapter *padapter, u8 *hwinfo) { struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); -/* struct hal_com_data *pHalData = GET_HAL_DATA(padapter); */ u16 EEPROMId; /* Check 0x8129 again for making sure autoload status!! */ @@ -1334,8 +1304,6 @@ void Hal_EfuseParseBTCoexistInfo_8723B( tempval = hwinfo[EEPROM_RF_BT_SETTING_8723B]; if (tempval != 0xFF) { pHalData->EEPROMBluetoothAntNum = tempval & BIT(0); - /* EFUSE_0xC3[6] == 0, S1(Main)-RF_PATH_A; */ - /* EFUSE_0xC3[6] == 1, S0(Aux)-RF_PATH_B */ if (tempval & BIT(6)) pHalData->ant_path = RF_PATH_B; else @@ -1411,7 +1379,6 @@ void Hal_EfuseParseVoltage_8723B( { struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); - /* memcpy(pEEPROM->adjuseVoltageVal, &hwinfo[EEPROM_Voltage_ADDR_8723B], 1); */ pEEPROM->adjuseVoltageVal = (hwinfo[EEPROM_Voltage_ADDR_8723B] & 0xf0) >> 4; } @@ -1450,9 +1417,7 @@ void Hal_EfuseParseThermalMeter_8723B( { struct hal_com_data *pHalData = GET_HAL_DATA(padapter); - /* */ /* ThermalMeter from EEPROM */ - /* */ if (!AutoLoadFail) pHalData->EEPROMThermalMeter = PROMContent[EEPROM_THERMAL_METER_8723B]; else @@ -1466,10 +1431,7 @@ void Hal_ReadRFGainOffset( struct adapter *Adapter, u8 *PROMContent, bool AutoloadFail ) { - /* */ /* BB_RF Gain Offset from EEPROM */ - /* */ - if (!AutoloadFail) { Adapter->eeprompriv.EEPROMRFGainOffset = PROMContent[EEPROM_RF_GAIN_OFFSET]; Adapter->eeprompriv.EEPROMRFGainVal = rtw_efuse_read_1_byte(Adapter, @@ -1493,9 +1455,6 @@ u8 BWMapping_8723B(struct adapter *Adapter, struct pkt_attrib *pattrib) } else BWSettingOfDesc = 0; - /* if (pTcb->bBTTxPacket) */ - /* BWSettingOfDesc = 0; */ - return BWSettingOfDesc; } @@ -1773,12 +1732,10 @@ void rtl8723b_update_txdesc(struct xmit_frame *pxmitframe, u8 *pbuf) rtl8723b_cal_txdesc_chksum(pdesc); } -/* */ /* Description: In normal chip, we should send some packet to Hw which will be used by Fw */ /* in FW LPS mode. The function is to fill the Tx descriptor of this packets, then */ /* Fw can tell Hw to send these packet derectly. */ /* Added by tynli. 2009.10.15. */ -/* */ /* type1:pspoll, type2:null */ void rtl8723b_fill_fake_txdesc( struct adapter *padapter, @@ -1816,9 +1773,7 @@ void rtl8723b_fill_fake_txdesc( SET_TX_DESC_TX_RATE_8723B(pDesc, DESC8723B_RATE1M); - /* */ /* Encrypt the data frame if under security mode excepct null data. Suggested by CCW. */ - /* */ if (bDataFrame) { u32 EncAlg = padapter->securitypriv.dot11_privacy_algrthm; @@ -1869,7 +1824,6 @@ static void hw_var_set_opmode(struct adapter *padapter, u8 variable, u8 *val) /* disable atim wnd */ rtw_write8(padapter, REG_BCN_CTRL, DIS_TSF_UDT|EN_BCN_FUNCTION|DIS_ATIM); - /* rtw_write8(padapter, REG_BCN_CTRL, 0x18); */ } else if (mode == _HW_STATE_ADHOC_) { ResumeTxBeacon(padapter); rtw_write8(padapter, REG_BCN_CTRL, DIS_TSF_UDT|EN_BCN_FUNCTION|DIS_BCNQ_SUB); @@ -1889,7 +1843,6 @@ static void hw_var_set_opmode(struct adapter *padapter, u8 variable, u8 *val) /* Beacon Control related register for first time */ rtw_write8(padapter, REG_BCNDMATIM, 0x02); /* 2ms */ - /* rtw_write8(padapter, REG_BCN_MAX_ERR, 0xFF); */ rtw_write8(padapter, REG_ATIMWND, 0x0a); /* 10ms */ rtw_write16(padapter, REG_BCNTCFG, 0x00); rtw_write16(padapter, REG_TBTT_PROHIBIT, 0xff04); @@ -1903,7 +1856,6 @@ static void hw_var_set_opmode(struct adapter *padapter, u8 variable, u8 *val) rtw_write8(padapter, REG_BCN_CTRL, (DIS_TSF_UDT|EN_BCN_FUNCTION|EN_TXBCN_RPT|DIS_BCNQ_SUB)); /* SW_BCN_SEL - Port0 */ - /* rtw_write8(Adapter, REG_DWBCN1_CTRL_8192E+2, rtw_read8(Adapter, REG_DWBCN1_CTRL_8192E+2) & ~BIT4); */ rtw_hal_set_hwreg(padapter, HW_VAR_DL_BCN_SEL, NULL); /* select BCN on port 0 */ @@ -2000,8 +1952,6 @@ static void hw_var_set_mlme_disconnect(struct adapter *padapter, u8 variable, u8 { u8 val8; - /* Set RCR to not to receive data frame when NO LINK state */ - /* rtw_write32(padapter, REG_RCR, rtw_read32(padapter, REG_RCR) & ~RCR_ADF); */ /* reject all data frames */ rtw_write16(padapter, REG_RXFLTMAP2, 0); @@ -2087,8 +2037,7 @@ static void hw_var_set_mlme_join(struct adapter *padapter, u8 variable, u8 *val) pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); if (type == 0) { /* prepare to join */ - /* enable to rx data frame.Accept all data frame */ - /* rtw_write32(padapter, REG_RCR, rtw_read32(padapter, REG_RCR)|RCR_ADF); */ + /* enable to rx data frame */ rtw_write16(padapter, REG_RXFLTMAP2, 0xFFFF); val32 = rtw_read32(padapter, REG_RCR); @@ -2166,11 +2115,9 @@ s32 c2h_handler_8723b(struct adapter *padapter, u8 *buf) break; case C2H_CCX_TX_RPT: -/* CCX_FwC2HTxRpt(padapter, QueueID, pC2hEvent->payload); */ break; case C2H_EXT_RA_RPT: -/* C2HExtRaRptHandler(padapter, pC2hEvent->payload, C2hEvent.CmdLen); */ break; case C2H_HW_INFO_EXCH: @@ -2184,10 +2131,6 @@ s32 c2h_handler_8723b(struct adapter *padapter, u8 *buf) break; } - /* Clear event to notify FW we have read the command. */ - /* Note: */ - /* If this field isn't clear, the FW won't update the next command message. */ -/* rtw_write8(padapter, REG_C2HEVT_CLEAR, C2H_EVT_HOST_CLOSE); */ exit: return ret; } @@ -2206,11 +2149,9 @@ static void process_c2h_event(struct adapter *padapter, struct c2h_evt_hdr_t *pC break; case C2H_CCX_TX_RPT: -/* CCX_FwC2HTxRpt(padapter, QueueID, tmpBuf); */ break; case C2H_EXT_RA_RPT: -/* C2HExtRaRptHandler(padapter, tmpBuf, C2hEvent.CmdLen); */ break; case C2H_HW_INFO_EXCH: @@ -2236,7 +2177,6 @@ void C2HPacketHandler_8723B(struct adapter *padapter, u8 *pbuffer, u16 length) tmpBuf = pbuffer+2; process_c2h_event(padapter, &C2hEvent, tmpBuf); - /* c2h_handler_8723b(padapter,&C2hEvent); */ } void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) @@ -2346,8 +2286,6 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) hal_btcoex_ConnectNotify(padapter, false); break; case 2: - /* sta add event callback */ -/* rtw_btcoex_MediaStatusNotify(padapter, RT_MEDIA_CONNECT); */ break; } break; @@ -2373,7 +2311,6 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) break; case HW_VAR_RESP_SIFS: - /* SIFS_Timer = 0x0a0a0808; */ /* RESP_SIFS for CCK */ rtw_write8(padapter, REG_RESP_SIFS_CCK, val[0]); /* SIFS_T2T_CCK (0x08) */ rtw_write8(padapter, REG_RESP_SIFS_CCK+1, val[1]); /* SIFS_R2T_CCK(0x08) */ @@ -2388,7 +2325,6 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) u8 bShortPreamble = *val; /* Joseph marked out for Netgear 3500 TKIP channel 7 issue.(Temporarily) */ - /* regTmp = (pHalData->nCur40MhzPrimeSC)<<5; */ if (bShortPreamble) regTmp |= 0x80; rtw_write8(padapter, REG_RRSR+2, regTmp); @@ -2407,7 +2343,6 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) /* filled id in CAM config 2 byte */ if (i == 0) { ulContent |= (ucIndex & 0x03) | ((u16)(ulEncAlgo)<<2); - /* ulContent |= CAM_VALID; */ } else ulContent = 0; @@ -2415,8 +2350,8 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) ulCommand = CAM_CONTENT_COUNT*ucIndex+i; ulCommand = ulCommand | CAM_POLLINIG | CAM_WRITE; /* write content 0 is equal to mark as invalid */ - rtw_write32(padapter, WCAMI, ulContent); /* mdelay(40); */ - rtw_write32(padapter, RWCAM, ulCommand); /* mdelay(40); */ + rtw_write32(padapter, WCAMI, ulContent); + rtw_write32(padapter, RWCAM, ulCommand); } } break; @@ -2498,11 +2433,6 @@ void SetHwReg8723B(struct adapter *padapter, u8 variable, u8 *val) if (psmode != PS_MODE_ACTIVE) ODM_RF_Saving(&pHalData->odmpriv, true); - /* if (psmode != PS_MODE_ACTIVE) { */ - /* rtl8723b_set_lowpwr_lps_cmd(padapter, true); */ - /* else { */ - /* rtl8723b_set_lowpwr_lps_cmd(padapter, false); */ - /* */ rtl8723b_set_FwPwrMode_cmd(padapter, psmode); } break; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c index 737e2a818c18..3c99621311e5 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_phycfg.c @@ -67,7 +67,6 @@ void PHY_SetBBReg_8723B( u32 Data ) { - /* u16 BBWaitCounter = 0; */ u32 OriginalValue, BitShift; if (BitMask != bMaskDWord) { /* if not "double word" write */ @@ -79,9 +78,7 @@ void PHY_SetBBReg_8723B( rtw_write32(Adapter, RegAddr, Data); } -/* */ /* 2. RF register R/W API */ -/* */ static u32 phy_RFSerialRead_8723B( struct adapter *Adapter, enum rf_path eRFPath, u32 Offset @@ -96,9 +93,7 @@ static u32 phy_RFSerialRead_8723B( u32 MaskforPhySet = 0; int i = 0; - /* */ /* Make sure RF register offset is correct */ - /* */ Offset &= 0xff; NewOffset = Offset; @@ -189,18 +184,13 @@ static void phy_RFSerialWrite_8723B( Offset &= 0xff; - /* */ /* Switch page for 8256 RF IC */ - /* */ NewOffset = Offset; - /* */ /* Put write addr in [5:0] and write data in [31:16] */ - /* */ DataAndAddr = ((NewOffset << 20) | (Data & 0x000fffff)) & 0x0fffffff; /* T65 RF */ - /* */ + /* Write Operation */ - /* */ PHY_SetBBReg(Adapter, pPhyReg->rf3wireOffset, bMaskDWord, DataAndAddr); } @@ -265,9 +255,7 @@ void PHY_SetRFReg_8723B( phy_RFSerialWrite_8723B(Adapter, eRFPath, RegAddr, Data); } -/* */ /* 3. Initial MAC/BB/RF config by reading MAC/BB/RF txt. */ -/* */ /*----------------------------------------------------------------------------- * PHY_MACConfig8192C - Config MAC by header file or parameter file. @@ -333,9 +321,7 @@ static int phy_BB8723b_Config_ParaFile(struct adapter *Adapter) pHalData->EEPROMRegulatory == 1)) ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv, CONFIG_RF_TXPWR_LMT, 0); - /* */ /* 1. Read PHY_REG.TXT BB INIT!! */ - /* */ ODM_ConfigBBWithHeaderFile(&pHalData->odmpriv, CONFIG_BB_PHY_REG); /* If EEPROM or EFUSE autoload OK, We must config by PHY_REG_PG.txt */ @@ -352,12 +338,10 @@ static int phy_BB8723b_Config_ParaFile(struct adapter *Adapter) if (Adapter->registrypriv.reg_enable_tx_power_limit == 1 || (Adapter->registrypriv.reg_enable_tx_power_limit == 2 && pHalData->EEPROMRegulatory == 1)) - PHY_ConvertTxPowerLimitToPowerIndex(Adapter); + phy_tx_power_limit_to_index(Adapter); } - /* */ /* 2. Read BB AGC table Initialization */ - /* */ ODM_ConfigBBWithHeaderFile(&pHalData->odmpriv, CONFIG_BB_AGC_TAB); return _SUCCESS; @@ -389,9 +373,7 @@ int PHY_BBConfig8723B(struct adapter *Adapter) rtw_write8(Adapter, REG_AFE_XTAL_CTRL + 1, 0x80); - /* */ /* Config BB and AGC */ - /* */ rtStatus = phy_BB8723b_Config_ParaFile(Adapter); /* 0x2C[23:18] = 0x2C[17:12] = CrystalCap */ @@ -413,9 +395,7 @@ int PHY_RFConfig8723B(struct adapter *Adapter) { int rtStatus = _SUCCESS; - /* */ /* RF config */ - /* */ rtStatus = PHY_RF6052_Config8723B(Adapter); phy_LCK_8723B(Adapter); @@ -685,7 +665,6 @@ static void PHY_HandleSwChnlAndSetBW8723B( u8 CenterFrequencyIndex1 ) { - /* static bool bInitialzed = false; */ struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); u8 tmpChannel = pHalData->CurrentChannel; enum channel_width tmpBW = pHalData->CurrentChannelBW; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c index fac1270853de..e894f8060893 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rf6052.c @@ -7,16 +7,10 @@ /****************************************************************************** * * - * Module: rtl8192c_rf6052.c (Source C File) + * Module: rtl8723b_rf6052.c (Source C File) * * Note: Provide RF 6052 series relative API. * - * Function: - * - * Export: - * - * Abbrev: - * * History: * Data Who Remark * @@ -28,16 +22,6 @@ #include <rtl8723b_hal.h> -/*---------------------------Define Local Constant---------------------------*/ -/*---------------------------Define Local Constant---------------------------*/ - -/*------------------------Define global variable-----------------------------*/ -/*------------------------Define global variable-----------------------------*/ - -/*------------------------Define local variable------------------------------*/ -/* 2008/11/20 MH For Debug only, RF */ -/*------------------------Define local variable------------------------------*/ - /*----------------------------------------------------------------------------- * Function: PHY_RF6052SetBandwidth() * @@ -95,18 +79,18 @@ static int phy_RF6052_Config_ParaFile(struct adapter *Adapter) /*----Set RF_ENV enable----*/ PHY_SetBBReg(Adapter, pPhyReg->rfintfe, bRFSI_RFENV << 16, 0x1); - udelay(1);/* PlatformStallExecution(1); */ + udelay(1); /*----Set RF_ENV output high----*/ PHY_SetBBReg(Adapter, pPhyReg->rfintfo, bRFSI_RFENV, 0x1); - udelay(1);/* PlatformStallExecution(1); */ + udelay(1); /* Set bit number of Address and Data for RF register */ PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireAddressLength, 0x0); /* Set 1 to 4 bits for 8255 */ - udelay(1);/* PlatformStallExecution(1); */ + udelay(1); PHY_SetBBReg(Adapter, pPhyReg->rfHSSIPara2, b3WireDataLength, 0x0); /* Set 0 to 12 bits for 8255 */ - udelay(1);/* PlatformStallExecution(1); */ + udelay(1); /*----Initialize RF fom connfiguration file----*/ ODM_ConfigRFWithHeaderFile(&pHalData->odmpriv, CONFIG_RF_RADIO, RF_PATH_A); @@ -125,11 +109,7 @@ static int phy_RF6052_Config_ParaFile(struct adapter *Adapter) int PHY_RF6052_Config8723B(struct adapter *Adapter) { - /* */ /* Config BB and RF */ - /* */ return phy_RF6052_Config_ParaFile(Adapter); } - -/* End of HalRf6052.c */ diff --git a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c index ac1249676794..28e1855f45c2 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723b_rxdesc.c @@ -12,7 +12,6 @@ static void process_rssi(struct adapter *padapter, union recv_frame *prframe) struct rx_pkt_attrib *pattrib = &prframe->u.hdr.attrib; struct signal_stat *signal_stat = &padapter->recvpriv.signal_strength_data; - /* if (pRfd->Status.bPacketToSelf || pRfd->Status.bPacketBeacon) */ { if (signal_stat->update_req) { signal_stat->total_num = 0; @@ -24,8 +23,7 @@ static void process_rssi(struct adapter *padapter, union recv_frame *prframe) signal_stat->total_val += pattrib->phy_info.SignalStrength; signal_stat->avg_val = signal_stat->total_val / signal_stat->total_num; } - -} /* Process_UI_RSSI_8192C */ +} static void process_link_qual(struct adapter *padapter, union recv_frame *prframe) { @@ -47,21 +45,14 @@ static void process_link_qual(struct adapter *padapter, union recv_frame *prfram signal_stat->total_num++; signal_stat->total_val += pattrib->phy_info.SignalQuality; signal_stat->avg_val = signal_stat->total_val / signal_stat->total_num; -} /* Process_UiLinkQuality8192S */ +} void rtl8723b_process_phy_info(struct adapter *padapter, void *prframe) { union recv_frame *precvframe = prframe; - /* */ /* Check RSSI */ - /* */ process_rssi(padapter, precvframe); - /* */ - /* Check PWDB. */ - /* */ - /* process_PWDB(padapter, precvframe); */ - /* UpdateRxSignalStatistics8192C(Adapter, pRfd); */ /* */ /* Check EVM */ /* */ diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c index e943c304950e..304fda3a3b5c 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_recv.c @@ -7,6 +7,7 @@ #include <drv_types.h> #include <rtl8723b_hal.h> +#include <linux/align.h> static void initrecvbuf(struct recv_buf *precvbuf, struct adapter *padapter) { @@ -95,7 +96,6 @@ static void update_recvframe_phyinfo(union recv_frame *precvframe, .is_beacon = false, }; - /* unsigned long irqL; */ struct sta_priv *pstapriv; struct sta_info *psta; @@ -124,13 +124,10 @@ static void update_recvframe_phyinfo(union recv_frame *precvframe, pkt_info.data_rate = pattrib->data_rate; - /* rtl8723b_query_rx_phy_status(precvframe, pphy_status); */ - /* spin_lock_bh(&p_hal_data->odm_stainfo_lock); */ odm_phy_status_query(&p_hal_data->odmpriv, p_phy_info, (u8 *)pphy_status, &(pkt_info)); if (psta) psta->rssi = pattrib->phy_info.RecvSignalPower; - /* spin_unlock_bh(&p_hal_data->odm_stainfo_lock); */ precvframe->u.hdr.psta = NULL; if ( pkt_info.bssid_match && @@ -306,7 +303,6 @@ static void rtl8723bs_recv_tasklet(struct tasklet_struct *t) precvframe->u.hdr.rx_end = skb_end_pointer(pkt_copy); recvframe_put(precvframe, skb_len); - /* recvframe_pull(precvframe, drvinfo_sz + RXDESC_SIZE); */ if (p_hal_data->ReceiveConfig & RCR_APPFCS) recvframe_pull_tail(precvframe, IEEE80211_FCS_LEN); @@ -316,7 +312,6 @@ static void rtl8723bs_recv_tasklet(struct tasklet_struct *t) /* update drv info */ if (p_hal_data->ReceiveConfig & RCR_APP_BA_SSN) { - /* rtl8723s_update_bassn(padapter, pdrvinfo); */ ptr += 4; } @@ -386,7 +381,7 @@ s32 rtl8723bs_init_recv_priv(struct adapter *padapter) goto exit; } - precvpriv->precv_buf = (u8 *)N_BYTE_ALIGMENT((SIZE_PTR)(precvpriv->pallocated_recv_buf), 4); + precvpriv->precv_buf = PTR_ALIGN(precvpriv->pallocated_recv_buf, 4); /* init each recv buffer */ precvbuf = (struct recv_buf *)precvpriv->precv_buf; diff --git a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c index 7f55448d544e..6624d2aac4bc 100644 --- a/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c +++ b/drivers/staging/rtl8723bs/hal/rtl8723bs_xmit.c @@ -24,7 +24,6 @@ static u8 rtw_sdio_wait_enough_TxOQT_space(struct adapter *padapter, u8 agg_num) if ((++n % 60) == 0) { msleep(1); - /* yield(); */ } } @@ -33,7 +32,7 @@ static u8 rtw_sdio_wait_enough_TxOQT_space(struct adapter *padapter, u8 agg_num) return true; } -static s32 rtl8723_dequeue_writeport(struct adapter *padapter) +static bool rtl8723_dequeue_writeport(struct adapter *padapter) { struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct xmit_priv *pxmitpriv = &padapter->xmitpriv; @@ -103,11 +102,9 @@ query_free_page: rtw_hal_sdio_update_tx_freepage(pri_padapter, PageIdx, pxmitbuf->pg_num); free_xmitbuf: - /* rtw_free_xmitframe(pxmitpriv, pframe); */ - /* pxmitbuf->priv_data = NULL; */ rtw_free_xmitbuf(pxmitpriv, pxmitbuf); - return _FAIL; + return false; } /* @@ -121,7 +118,8 @@ free_xmitbuf: s32 rtl8723bs_xmit_buf_handler(struct adapter *padapter) { struct xmit_priv *pxmitpriv = &padapter->xmitpriv; - u8 queue_empty, queue_pending; + bool queue_empty; + u8 queue_pending; s32 ret; if (wait_for_completion_interruptible(&pxmitpriv->xmit_comp)) { @@ -248,8 +246,6 @@ static s32 xmit_xmitframes(struct adapter *padapter, struct xmit_priv *pxmitpriv rtw_free_xmitframe(pxmitpriv, pframe); pxmitbuf->priv_data = NULL; enqueue_pending_xmitbuf(pxmitpriv, pxmitbuf); - /* can not yield under lock */ - /* yield(); */ } else rtw_free_xmitbuf(pxmitpriv, pxmitbuf); } @@ -525,9 +521,6 @@ s32 rtl8723bs_hal_xmitframe_enqueue( s32 rtl8723bs_init_xmit_priv(struct adapter *padapter) { struct xmit_priv *xmitpriv = &padapter->xmitpriv; - struct hal_com_data *phal; - - phal = GET_HAL_DATA(padapter); init_completion(&xmitpriv->SdioXmitStart); init_completion(&xmitpriv->SdioXmitTerminate); diff --git a/drivers/staging/rtl8723bs/hal/sdio_halinit.c b/drivers/staging/rtl8723bs/hal/sdio_halinit.c index 57d2925642e7..4a2f5c3bb3cf 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_halinit.c +++ b/drivers/staging/rtl8723bs/hal/sdio_halinit.c @@ -171,7 +171,6 @@ static void _InitTxBufferBoundary(struct adapter *padapter) { struct registry_priv *pregistrypriv = &padapter->registrypriv; - /* u16 txdmactrl; */ u8 txpktbuf_bndy; if (!pregistrypriv->wifi_spec) { @@ -492,9 +491,7 @@ static void _InitOperationMode(struct adapter *padapter) pmlmeext = &padapter->mlmeextpriv; /* 1 This part need to modified according to the rate set we filtered!! */ - /* */ /* Set RRSR, RATR, and REG_BWOPMODE registers */ - /* */ switch (pmlmeext->cur_wireless_mode) { case WIRELESS_MODE_B: regBwOpMode = BW_OPMODE_20MHZ; @@ -527,9 +524,7 @@ static void _InitInterrupt(struct adapter *padapter) /* HIMR - turn all off */ rtw_write32(padapter, REG_HIMR, 0); - /* */ /* Initialize and enable SDIO Host Interrupt. */ - /* */ InitInterrupt8723BSdio(padapter); } @@ -538,26 +533,6 @@ static void _RfPowerSave(struct adapter *padapter) /* YJ, TODO */ } -/* */ -/* 2010/08/09 MH Add for power down check. */ -/* */ -static bool HalDetectPwrDownMode(struct adapter *Adapter) -{ - u8 tmpvalue; - struct hal_com_data *pHalData = GET_HAL_DATA(Adapter); - struct pwrctrl_priv *pwrctrlpriv = adapter_to_pwrctl(Adapter); - - rtw_efuse_shadow_read(Adapter, 1, 0x7B/*EEPROM_RF_OPT3_92C*/, (u32 *)&tmpvalue); - - /* 2010/08/25 MH INF priority > PDN Efuse value. */ - if (tmpvalue & BIT(4) && pwrctrlpriv->reg_pdnmode) - pHalData->pwrdown = true; - else - pHalData->pwrdown = false; - - return pHalData->pwrdown; -} /* HalDetectPwrDownMode */ - u32 rtl8723bs_hal_init(struct adapter *padapter) { s32 ret; @@ -632,10 +607,6 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) if (pwrctrlpriv->reg_rfoff) pwrctrlpriv->rf_pwrstate = rf_off; - /* 2010/08/09 MH We need to check if we need to turnon or off RF after detecting */ - /* HW GPIO pin. Before PHY_RFConfig8192C. */ - HalDetectPwrDownMode(padapter); - /* Save target channel */ /* <Roger_Notes> Current Channel will be updated again later. */ pHalData->CurrentChannel = 6; @@ -643,9 +614,7 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) ret = PHY_MACConfig8723B(padapter); if (ret != _SUCCESS) return ret; - /* */ /* d. Initialize BB related configurations. */ - /* */ ret = PHY_BBConfig8723B(padapter); if (ret != _SUCCESS) return ret; @@ -659,9 +628,7 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) return ret; } - /* */ /* Joseph Note: Keep RfRegChnlVal for later use. */ - /* */ pHalData->RfRegChnlVal[0] = PHY_QueryRFReg(padapter, (enum rf_path)0, RF_CHNLBW, bRFRegOffsetMask); pHalData->RfRegChnlVal[1] = @@ -675,7 +642,6 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) if (ret != _SUCCESS) return _FAIL; - /* */ _InitQueuePriority(padapter); _InitPageBoundary(padapter); _InitTransferPageSize(padapter); @@ -708,29 +674,23 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) rtl8723b_InitAntenna_Selection(padapter); - /* */ /* Disable BAR, suggested by Scott */ /* 2010.04.09 add by hpfan */ - /* */ rtw_write32(padapter, REG_BAR_MODE_CTRL, 0x0201ffff); /* HW SEQ CTRL */ /* set 0x0 to 0xFF by tynli. Default enable HW SEQ NUM. */ rtw_write8(padapter, REG_HWSEQ_CTRL, 0xFF); - /* */ /* Configure SDIO TxRx Control to enable Rx DMA timer masking. */ /* 2010.02.24. */ - /* */ rtw_write32(padapter, SDIO_LOCAL_BASE | SDIO_REG_TX_CTRL, 0); _RfPowerSave(padapter); rtl8723b_InitHalDm(padapter); - /* */ /* Update current Tx FIFO page status. */ - /* */ HalQueryTxBufferStatus8723BSdio(padapter); HalQueryTxOQTBufferStatus8723BSdio(padapter); pHalData->SdioTxOQTMaxFreeSpace = pHalData->SdioTxOQTFreeSpace; @@ -798,12 +758,9 @@ u32 rtl8723bs_hal_init(struct adapter *padapter) return _SUCCESS; } -/* */ /* Description: */ /* RTL8723e card disable power sequence v003 which suggested by Scott. */ -/* */ /* First created by tynli. 2011.01.28. */ -/* */ static void CardDisableRTL8723BSdio(struct adapter *padapter) { u8 val; @@ -948,15 +905,11 @@ void rtl8723bs_interface_configure(struct adapter *padapter) Hal_MappingOutPipe(padapter, pHalData->OutEpNumber); } -/* */ /* Description: */ /* We should set Efuse cell selection to WiFi cell in default. */ -/* */ /* Assumption: */ /* PASSIVE_LEVEL */ -/* */ /* Added by Roger, 2010.11.23. */ -/* */ static void _EfuseCellSel(struct adapter *padapter) { u32 value32; @@ -1000,10 +953,7 @@ static void _ReadEfuseInfo8723BS(struct adapter *padapter) struct eeprom_priv *pEEPROM = GET_EEPROM_EFUSE_PRIV(padapter); u8 *hwinfo = NULL; - /* */ /* This part read and parse the eeprom/efuse content */ - /* */ - hwinfo = pEEPROM->efuse_eeprom_data; Hal_InitPGData(padapter, hwinfo); @@ -1015,9 +965,7 @@ static void _ReadEfuseInfo8723BS(struct adapter *padapter) Hal_EfuseParseTxPowerInfo_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag); Hal_EfuseParseBoardType_8723BS(padapter, hwinfo, pEEPROM->bautoload_fail_flag); - /* */ /* Read Bluetooth co-exist and initialize */ - /* */ Hal_EfuseParsePackageType_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag); Hal_EfuseParseBTCoexistInfo_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag); Hal_EfuseParseChnlPlan_8723B(padapter, hwinfo, pEEPROM->bautoload_fail_flag); @@ -1042,14 +990,10 @@ static void _ReadPROMContent(struct adapter *padapter) _ReadEfuseInfo8723BS(padapter); } -/* */ /* Description: */ /* Read HW adapter information by E-Fuse or EEPROM according CR9346 reported. */ -/* */ /* Assumption: */ /* PASSIVE_LEVEL (SDIO interface) */ -/* */ -/* */ static s32 _ReadAdapterInfo8723BS(struct adapter *padapter) { u8 val8; @@ -1163,10 +1107,8 @@ void SetHwRegWithBuf8723B(struct adapter *padapter, u8 variable, u8 *pbuf, int l } } -/* */ /* Description: */ /* Query setting of specified variable. */ -/* */ u8 GetHalDefVar8723BSDIO( struct adapter *Adapter, enum hal_def_variable eVariable, void *pValue ) diff --git a/drivers/staging/rtl8723bs/hal/sdio_ops.c b/drivers/staging/rtl8723bs/hal/sdio_ops.c index da2d9088ab5a..c12f670922d5 100644 --- a/drivers/staging/rtl8723bs/hal/sdio_ops.c +++ b/drivers/staging/rtl8723bs/hal/sdio_ops.c @@ -7,12 +7,9 @@ #include <drv_types.h> #include <rtl8723b_hal.h> -/* */ /* Description: */ /* The following mapping is for SDIO host local register space. */ -/* */ /* Creadted by Roger, 2011.01.31. */ -/* */ static void hal_sdio_get_cmd_addr_8723b(struct adapter *adapter, u8 device_id, u32 addr, u32 *cmdaddr) { @@ -562,15 +559,11 @@ static s32 read_interrupt_8723b_sdio(struct adapter *adapter, u32 *phisr) return true; } -/* */ /* Description: */ /* Initialize SDIO Host Interrupt Mask configuration variables for future use. */ -/* */ /* Assumption: */ /* Using SDIO Local register ONLY for configuration. */ -/* */ /* Created by Roger, 2011.02.11. */ -/* */ void InitInterrupt8723BSdio(struct adapter *adapter) { struct hal_com_data *haldata; @@ -598,11 +591,9 @@ void rtw_sdio_enable_interrupt(struct adapter *adapter) himr = cpu_to_le32(haldata->sdio_himr); sdio_local_write(adapter, SDIO_REG_HIMR, 4, (u8 *)&himr); - /* */ /* <Roger_Notes> There are some C2H CMDs have been sent before system interrupt is enabled, e.g., C2H, CPWM. */ /* So we need to clear all C2H events that FW has notified, otherwise FW won't schedule any commands anymore. */ /* 2011.10.19. */ - /* */ rtw_write8(adapter, REG_C2HEVT_CLEAR, C2H_EVT_HOST_CLOSE); } @@ -620,15 +611,11 @@ void rtw_sdio_disable_interrupt(struct adapter *adapter) sdio_local_write(adapter, SDIO_REG_HIMR, 4, (u8 *)&himr); } -/* */ /* Description: */ /* Using 0x100 to check the power status of FW. */ -/* */ /* Assumption: */ /* Using SDIO Local register ONLY for configuration. */ -/* */ /* Created by Isaac, 2013.09.10. */ -/* */ u8 CheckIPSStatus(struct adapter *adapter) { if (rtw_read8(adapter, 0x100) == 0xEA) @@ -644,6 +631,13 @@ static struct recv_buf *sd_recv_rxfifo(struct adapter *adapter, u32 size) struct recv_priv *recv_priv; struct recv_buf *recvbuf; + /* RX0_REQ_LEN is device-reported; the skb buffer is only + * MAX_RECVBUF_SZ bytes, reject bogus lengths instead of + * overflowing past it. + */ + if (size > MAX_RECVBUF_SZ) + return NULL; + /* Patch for some SDIO Host 4 bytes issue */ /* ex. RK3188 */ readsize = round_up(size, 4); @@ -826,16 +820,12 @@ void sd_int_hdl(struct adapter *adapter) } } -/* */ /* Description: */ /* Query SDIO Local register to query current the number of Free TxPacketBuffer page. */ -/* */ /* Assumption: */ /* 1. Running at PASSIVE_LEVEL */ /* 2. RT_TX_SPINLOCK is NOT acquired. */ -/* */ /* Created by Roger, 2011.01.28. */ -/* */ u8 HalQueryTxBufferStatus8723BSdio(struct adapter *adapter) { struct hal_com_data *hal; diff --git a/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h b/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h index b81252d374ef..a0c4461557e7 100644 --- a/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h +++ b/drivers/staging/rtl8723bs/include/HalPwrSeqCmd.h @@ -98,9 +98,7 @@ struct wlan_pwr_cfg { #define GET_PWR_CFG_VALUE(__PWR_CMD) __PWR_CMD.value -/* */ /* Prototype of protected function. */ -/* */ u8 HalPwrSeqCmdParsing( struct adapter *padapter, u8 CutVersion, diff --git a/drivers/staging/rtl8723bs/include/basic_types.h b/drivers/staging/rtl8723bs/include/basic_types.h index b6b1afaa9ab8..d2436459cff6 100644 --- a/drivers/staging/rtl8723bs/include/basic_types.h +++ b/drivers/staging/rtl8723bs/include/basic_types.h @@ -14,7 +14,6 @@ #include <linux/stddef.h> #define SIZE_PTR __kernel_size_t -#define SSIZE_PTR __kernel_ssize_t /* port from fw by thomas */ /* TODO: Belows are Sync from SD7-Driver. It is necessary to check correctness */ @@ -26,12 +25,8 @@ * 3. After read integer from IO. */ -/* */ /* Byte Swapping routine. */ -/* */ #define EF1Byte (u8) -#define EF2Byte le16_to_cpu -#define EF4Byte le32_to_cpu /* Convert little data endian to host ordering */ #define EF1BYTE(_val) \ @@ -163,9 +158,6 @@ ); \ } -/* Get the N-bytes alignent offset from the current length */ -#define N_BYTE_ALIGMENT(__Value, __Aligment) ((__Aligment == 1) ? (__Value) : (((__Value + __Aligment - 1) / __Aligment) * __Aligment)) - #define TEST_FLAG(__Flag, __testFlag) (((__Flag) & (__testFlag)) != 0) #define SET_FLAG(__Flag, __setFlag) ((__Flag) |= __setFlag) #define CLEAR_FLAG(__Flag, __clearFlag) ((__Flag) &= ~(__clearFlag)) diff --git a/drivers/staging/rtl8723bs/include/cmd_osdep.h b/drivers/staging/rtl8723bs/include/cmd_osdep.h index 91d933d71945..a7b526a658a9 100644 --- a/drivers/staging/rtl8723bs/include/cmd_osdep.h +++ b/drivers/staging/rtl8723bs/include/cmd_osdep.h @@ -9,8 +9,8 @@ int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv); int rtw_init_evt_priv(struct evt_priv *pevtpriv); -extern void _rtw_free_evt_priv(struct evt_priv *pevtpriv); -extern void _rtw_free_cmd_priv(struct cmd_priv *pcmdpriv); -extern struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue); +void _rtw_free_evt_priv(struct evt_priv *pevtpriv); +void _rtw_free_cmd_priv(struct cmd_priv *pcmdpriv); +struct cmd_obj *_rtw_dequeue_cmd(struct __queue *queue); #endif diff --git a/drivers/staging/rtl8723bs/include/drv_types.h b/drivers/staging/rtl8723bs/include/drv_types.h index 20265770ed77..7f7d4fbad4bd 100644 --- a/drivers/staging/rtl8723bs/include/drv_types.h +++ b/drivers/staging/rtl8723bs/include/drv_types.h @@ -151,8 +151,6 @@ struct registry_priv { u8 enable80211d; - u8 ifname[16]; - u8 notch_filter; /* define for tx power adjust */ @@ -209,7 +207,6 @@ struct dvobj_priv { s32 processing_dev_remove; /* for local/global synchronization */ - /* */ spinlock_t lock; int macid[NUM_STA]; @@ -277,7 +274,6 @@ struct adapter { struct mlme_ext_priv mlmeextpriv; struct cmd_priv cmdpriv; struct evt_priv evtpriv; - /* struct io_queue *pio_queue; */ struct io_priv iopriv; struct xmit_priv xmitpriv; struct recv_priv recvpriv; @@ -377,9 +373,7 @@ struct adapter { #define adapter_to_pwrctl(adapter) (dvobj_to_pwrctl(adapter->dvobj)) #define adapter_wdev_data(adapter) (&((adapter)->wdev_data)) -/* */ /* Function disabled. */ -/* */ #define DF_TX_BIT BIT(0) #define DF_RX_BIT BIT(1) #define DF_IO_BIT BIT(2) diff --git a/drivers/staging/rtl8723bs/include/hal_com.h b/drivers/staging/rtl8723bs/include/hal_com.h index 7bbf62cfd825..6cf4f7f678d2 100644 --- a/drivers/staging/rtl8723bs/include/hal_com.h +++ b/drivers/staging/rtl8723bs/include/hal_com.h @@ -15,10 +15,9 @@ /*------------------------------ Tx Desc definition Macro ------------------------*/ /* pragma mark -- Tx Desc related definition. -- */ -/* */ -/* */ + /* Rate */ -/* */ + /* CCK Rates, TxHT = 0 */ #define DESC_RATE1M 0x00 #define DESC_RATE2M 0x01 @@ -112,7 +111,7 @@ u8 HwRateToMRate(u8 rate); void HalSetBrateCfg( struct adapter *Adapter, - u8 *mBratesOS, + u8 *basic_rates, u16 *pBrateCfg); bool diff --git a/drivers/staging/rtl8723bs/include/hal_com_h2c.h b/drivers/staging/rtl8723bs/include/hal_com_h2c.h index a59d13090565..889b12719e2e 100644 --- a/drivers/staging/rtl8723bs/include/hal_com_h2c.h +++ b/drivers/staging/rtl8723bs/include/hal_com_h2c.h @@ -14,9 +14,7 @@ #define H2C_MACID_CFG_LEN 7 #define H2C_RSSI_SETTING_LEN 4 -/* */ /* Structure -------------------------------------------------- */ -/* */ struct rsvdpage_loc { u8 LocProbeRsp; u8 LocPsPoll; diff --git a/drivers/staging/rtl8723bs/include/hal_com_phycfg.h b/drivers/staging/rtl8723bs/include/hal_com_phycfg.h index cb7c7ed74146..a20b4c233de8 100644 --- a/drivers/staging/rtl8723bs/include/hal_com_phycfg.h +++ b/drivers/staging/rtl8723bs/include/hal_com_phycfg.h @@ -97,7 +97,7 @@ s8 phy_get_tx_pwr_lmt(struct adapter *adapter, u32 RegPwrTblSel, void PHY_SetTxPowerLimit(struct adapter *Adapter, u8 *Regulation, u8 *Bandwidth, u8 *RateSection, u8 *RfPath, u8 *Channel, u8 *PowerLimit); -void PHY_ConvertTxPowerLimitToPowerIndex(struct adapter *Adapter); +void phy_tx_power_limit_to_index(struct adapter *Adapter); void PHY_InitTxPowerLimit(struct adapter *Adapter); diff --git a/drivers/staging/rtl8723bs/include/hal_com_reg.h b/drivers/staging/rtl8723bs/include/hal_com_reg.h index 4671fdfff916..352280ed3c56 100644 --- a/drivers/staging/rtl8723bs/include/hal_com_reg.h +++ b/drivers/staging/rtl8723bs/include/hal_com_reg.h @@ -7,11 +7,7 @@ #ifndef __HAL_COMMON_REG_H__ #define __HAL_COMMON_REG_H__ -/* */ -/* */ /* 0x0000h ~ 0x00FFh System Configuration */ -/* */ -/* */ #define REG_SYS_FUNC_EN 0x0002 #define REG_APS_FSMCO 0x0004 #define REG_SYS_CLKR 0x0008 @@ -36,11 +32,7 @@ #define REG_SYS_CFG 0x00F0 #define REG_GPIO_OUTSTS 0x00F4 /* For RTL8723 only. */ -/* */ -/* */ /* 0x0100h ~ 0x01FFh MACTOP General Configuration */ -/* */ -/* */ #define REG_CR 0x0100 #define REG_PBP 0x0104 #define REG_TRXDMA_CTRL 0x010C @@ -53,31 +45,18 @@ #define REG_HMETFR 0x01CC #define REG_HMEBOX_0 0x01D0 -/* */ -/* */ /* 0x0200h ~ 0x027Fh TXDMA Configuration */ -/* */ -/* */ #define REG_RQPN 0x0200 #define REG_TDECTRL 0x0208 #define REG_TXDMA_STATUS 0x0210 #define REG_RQPN_NPQ 0x0214 #define REG_AUTO_LLT 0x0224 - -/* */ -/* */ /* 0x0280h ~ 0x02FFh RXDMA Configuration */ -/* */ -/* */ #define REG_RXDMA_AGG_PG_TH 0x0280 #define REG_RXPKT_NUM 0x0284 -/* */ -/* */ /* 0x0400h ~ 0x047Fh Protocol Configuration */ -/* */ -/* */ #define REG_TXPKT_EMPTY 0x041A #define REG_FWHW_TXQ_CTRL 0x0420 #define REG_HWSEQ_CTRL 0x0423 @@ -92,11 +71,7 @@ #define REG_MACID_SLEEP 0x04D4 #define REG_NQOS_SEQ 0x04DC -/* */ -/* */ /* 0x0500h ~ 0x05FFh EDCA Configuration */ -/* */ -/* */ #define REG_EDCA_VO_PARAM 0x0500 #define REG_EDCA_VI_PARAM 0x0504 #define REG_EDCA_BE_PARAM 0x0508 @@ -108,7 +83,7 @@ #define REG_SLOT 0x051B #define REG_TXPAUSE 0x0522 #define REG_RD_CTRL 0x0524 -/* */ + /* Format for offset 540h-542h: */ /* [3:0]: TBTT prohibit setup in unit of 32us. The time for HW getting beacon content before TBTT. */ /* [7:4]: Reserved. */ @@ -122,7 +97,6 @@ /* TBTT */ /* Note: We cannot update beacon content to HW or send any AC packets during the time between Setup and Hold. */ /* Described by Designer Tim and Bruce, 2011-01-14. */ -/* */ #define REG_TBTT_PROHIBIT 0x0540 #define REG_BCN_CTRL 0x0550 #define REG_BCN_CTRL_1 0x0551 @@ -137,11 +111,7 @@ #define REG_TSFTR 0x0560 #define REG_ACMHWCTRL 0x05C0 -/* */ -/* */ /* 0x0600h ~ 0x07FFh WMAC Configuration */ -/* */ -/* */ #define REG_BWOPMODE 0x0603 #define REG_TCR 0x0604 #define REG_RCR 0x0608 @@ -158,7 +128,6 @@ #define REG_ACKTO 0x0640 -/* */ /* Note: */ /* The NAV upper value is very important to WiFi 11n 5.2.3 NAV test. The default value is */ /* always too small, but the WiFi TestPlan test by 25, 000 microseconds of NAV through sending */ @@ -166,7 +135,6 @@ /* The offset of NAV_UPPER in 8192C Spec is incorrect, and the offset should be 0x0652. Commented */ /* by SD1 Scott. */ /* By Bruce, 2011-07-18. */ -/* */ #define REG_NAV_UPPER 0x0652 /* unit of 128 */ /* WMA, BA, CCX */ @@ -184,35 +152,25 @@ #define REG_RXFLTMAP2 0x06A4 #define REG_BCN_PSR_RPT 0x06A8 -/* */ -/* */ /* Redefine 8192C register definition for compatibility */ -/* */ -/* */ #define EFUSE_CTRL REG_EFUSE_CTRL /* E-Fuse Control. */ #define EFUSE_TEST REG_EFUSE_TEST /* E-Fuse Test. */ #define MSR (REG_CR + 2) /* Media Status register */ #define PBP REG_PBP -/* */ /* 9. Security Control Registers (Offset:) */ -/* */ #define RWCAM REG_CAMCMD /* IN 8190 Data Sheet is called CAMcmd */ #define WCAMI REG_CAMWRITE /* Software write CAM input content */ -/* */ /* 8723/8188E Host System Interrupt Status Register (offset 0x5C, 32 byte) */ -/* */ #define HSISR_GPIO12_0_INT BIT(0) #define HSISR_SPS_OCP_INT BIT(5) #define HSISR_RON_INT BIT(6) #define HSISR_PDNINT BIT(7) #define HSISR_GPIO9_INT BIT(25) -/* */ /* Response Rate Set Register (offset 0x440, 24bits) */ -/* */ #define RRSR_1M BIT(0) #define RRSR_2M BIT(1) #define RRSR_5_5M BIT(2) @@ -223,9 +181,7 @@ #define RRSR_CCK_RATES (RRSR_11M|RRSR_5_5M|RRSR_2M|RRSR_1M) -/* */ /* Rate Definition */ -/* */ /* CCK */ #define RATE_1M BIT(0) #define RATE_2M BIT(1) @@ -247,14 +203,10 @@ /* Only use CCK 1M rate for ACK */ #define RATE_RRSR_CCK_ONLY_1M 0xFFFF1 -/* */ /* BW_OPMODE bits (Offset 0x603, 8bit) */ -/* */ #define BW_OPMODE_20MHZ BIT(2) -/* */ /* CAM Config Setting (offset 0x680, 1 byte) */ -/* */ #define CAM_VALID BIT(15) #define CAM_CONTENT_COUNT 8 @@ -266,13 +218,9 @@ #define CAM_WRITE BIT(16) #define CAM_POLLINIG BIT(31) -/* */ /* 12. Host Interrupt Status Registers */ -/* */ -/* */ /* 8192C (RCR) Receive Configuration Register (Offset 0x608, 32 bits) */ -/* */ #define RCR_APPFCS BIT(31) /* WMAC append FCS after payload */ #define RCR_APP_MIC BIT(30) /* MACRX will retain the MIC at the bottom of the packet. */ #define RCR_APP_ICV BIT(29) /* MACRX will retain the ICV at the bottom of the packet. */ @@ -289,11 +237,7 @@ #define RCR_APM BIT(1) /* Accept physical match packet */ -/* */ -/* */ /* 0x0000h ~ 0x00FFh System Configuration */ -/* */ -/* */ /* 2 SYS_FUNC_EN */ #define FEN_BBRSTB BIT(0) @@ -350,11 +294,7 @@ /* 2 REG_GPIO_OUTSTS (For RTL8723 only) */ #define RF_RL_ID (BIT(31)|BIT(30)|BIT(29)|BIT(28)) -/* */ -/* */ /* 0x0100h ~ 0x01FFh MACTOP General Configuration */ -/* */ -/* */ /* 2 Function Enable Registers */ /* 2 CR */ @@ -397,11 +337,8 @@ #define QUEUE_NORMAL 2 #define QUEUE_HIGH 3 -/* */ -/* */ /* 0x0200h ~ 0x027Fh TXDMA Configuration */ -/* */ -/* */ + /* 2 RQPN */ #define _HPQ(x) ((x) & 0xFF) #define _LPQ(x) (((x) & 0xFF) << 8) @@ -413,11 +350,7 @@ /* 2 AUTO_LLT */ #define BIT_AUTO_INIT_LLT BIT(16) -/* */ -/* */ /* 0x0280h ~ 0x028Bh RX DMA Configuration */ -/* */ -/* */ /* 2 REG_RXDMA_CONTROL, 0x0286h */ /* Write only. When this bit is set, RXDMA will decrease RX PKT counter by one. Before */ @@ -435,11 +368,8 @@ #define RXDMA_IDLE BIT(17) #define RW_RELEASE_EN BIT(18) -/* */ -/* */ /* 0x0400h ~ 0x047Fh Protocol Configuration */ -/* */ -/* */ + /* 2 FWHW_TXQ_CTRL */ #define EN_AMPDU_RTY_NEW BIT(7) @@ -452,11 +382,7 @@ #define RETRY_LIMIT_SHORT_SHIFT 8 #define RETRY_LIMIT_LONG_SHIFT 0 -/* */ -/* */ /* 0x0500h ~ 0x05FFh EDCA Configuration */ -/* */ -/* */ #define _LRL(x) ((x) & 0x3F) #define _SRL(x) (((x) & 0x3F) << 8) @@ -476,11 +402,7 @@ #define AcmHw_ViqEn BIT(2) #define AcmHw_VoqEn BIT(3) -/* */ -/* */ /* 0x0600h ~ 0x07FFh WMAC Configuration */ -/* */ -/* */ /* 2 TCR */ #define TSFRST BIT(0) @@ -497,11 +419,7 @@ #define SCR_RXBCUSEDK BIT(7) /* Force Rx Broadcast packets Use Default Key */ #define SCR_CHK_KEYID BIT(8) -/* */ -/* */ /* SDIO Bus Specification */ -/* */ -/* */ /* I/O bus domain address mapping */ #define SDIO_LOCAL_BASE 0x10250000 @@ -578,11 +496,7 @@ /* SDIO Tx FIFO related */ #define SDIO_TX_FREE_PG_QUEUE 4 /* The number of Tx FIFO free page */ -/* */ -/* */ /* 0xFE00h ~ 0xFE55h USB Configuration */ -/* */ -/* */ /* 2REG_C2HEVT_CLEAR */ #define C2H_EVT_HOST_CLOSE 0x00 /* Set by driver and notify FW that the driver has read the C2H command message */ diff --git a/drivers/staging/rtl8723bs/include/hal_data.h b/drivers/staging/rtl8723bs/include/hal_data.h index f67ca496902a..c345b632bf53 100644 --- a/drivers/staging/rtl8723bs/include/hal_data.h +++ b/drivers/staging/rtl8723bs/include/hal_data.h @@ -12,17 +12,6 @@ #include <hal_sdio.h> -enum rt_ampdu_burst { - RT_AMPDU_BURST_NONE = 0, - RT_AMPDU_BURST_92D = 1, - RT_AMPDU_BURST_88E = 2, - RT_AMPDU_BURST_8812_4 = 3, - RT_AMPDU_BURST_8812_8 = 4, - RT_AMPDU_BURST_8812_12 = 5, - RT_AMPDU_BURST_8812_15 = 6, - RT_AMPDU_BURST_8723B = 7, -}; - #define CHANNEL_MAX_NUMBER (14) /* 14 is the max channel number */ #define CHANNEL_MAX_NUMBER_2G 14 #define MAX_PG_GROUP 13 @@ -58,7 +47,6 @@ struct dm_priv { u8 DMFlag; u8 InitDMFlag; - /* u8 RSVD_1; */ u32 InitODMFlag; /* Upper and Lower Signal threshold for Rate Adaptive */ @@ -90,7 +78,6 @@ struct dm_priv { u8 ThermalValue_IQK; u8 ThermalValue_DPK; u8 bRfPiEnable; - /* u8 RSVD_2; */ /* for APK */ u32 APKoutput[2][2]; /* path A/B; output1_1a/output1_2a */ @@ -99,9 +86,6 @@ struct dm_priv { u8 bDPdone; u8 bDPPathAOK; u8 bDPPathBOK; - /* u8 RSVD_3; */ - /* u8 RSVD_4; */ - /* u8 RSVD_5; */ /* for IQK */ u32 ADDA_backup[IQK_ADDA_REG_NUM]; @@ -120,7 +104,6 @@ struct dm_priv { u8 OFDM_index_HP[2]; u8 ThermalValue_HP[HP_THERMAL_NUM]; u8 ThermalValue_HP_index; - /* u8 RSVD_6; */ /* for TxPwrTracking2 */ s32 RegE94; @@ -185,7 +168,6 @@ struct hal_com_data { /* RF: at most 2 = AB = 0/1 */ /* CCK = 0 OFDM = 1 HT-MCS 0-7 = 2 */ s8 TxPwrByRateOffset[MAX_RF_PATH_NUM][TX_PWR_BY_RATE_NUM_RATE]; - /* */ /* Power Limit Table for 2.4G */ s8 TxPwrLimit_2_4G[MAX_REGULATION_NUM] @@ -234,17 +216,12 @@ struct hal_com_data { u8 u1ForcedIgiLb; /* forced IGI lower bound */ - /* 2010/08/09 MH Add CU power down mode. */ - bool pwrdown; - u8 OutEpQueueSel; u8 OutEpNumber; /* Auto FSM to Turn On, include clock, isolation, power control for MAC only */ u8 bMacPwrCtrlOn; - enum rt_ampdu_burst AMPDUBurstMode; /* 92C maybe not use, but for compile successfully */ - u32 sdio_himr; u32 sdio_hisr; diff --git a/drivers/staging/rtl8723bs/include/hal_intf.h b/drivers/staging/rtl8723bs/include/hal_intf.h index a7ae8c006f0c..7b63116525ca 100644 --- a/drivers/staging/rtl8723bs/include/hal_intf.h +++ b/drivers/staging/rtl8723bs/include/hal_intf.h @@ -191,7 +191,7 @@ u8 rtw_hal_check_ips_status(struct adapter *padapter); int rtw_hal_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe); s32 rtw_hal_xmit(struct adapter *padapter, struct xmit_frame *pxmitframe); -s32 rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe); +int rtw_hal_mgnt_xmit(struct adapter *padapter, struct xmit_frame *pmgntframe); s32 rtw_hal_init_xmit_priv(struct adapter *padapter); void rtw_hal_free_xmit_priv(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/hal_pg.h b/drivers/staging/rtl8723bs/include/hal_pg.h index 32e66fe451b0..6f8c8307eaa7 100644 --- a/drivers/staging/rtl8723bs/include/hal_pg.h +++ b/drivers/staging/rtl8723bs/include/hal_pg.h @@ -38,7 +38,7 @@ #define EEPROM_RF_BOARD_OPTION_8723B 0xC1 #define EEPROM_RF_BT_SETTING_8723B 0xC3 -#define EEPROM_DEFAULT_DIFF 0XFE +#define EEPROM_DEFAULT_DIFF -2 /* RTL8723BS */ #define EEPROM_MAC_ADDR_8723BS 0x11A diff --git a/drivers/staging/rtl8723bs/include/hal_phy.h b/drivers/staging/rtl8723bs/include/hal_phy.h index abc0f27fdaa4..2e519a3044d8 100644 --- a/drivers/staging/rtl8723bs/include/hal_phy.h +++ b/drivers/staging/rtl8723bs/include/hal_phy.h @@ -6,10 +6,9 @@ ******************************************************************************/ #ifndef __HAL_PHY_H__ #define __HAL_PHY_H__ -/* */ + /* Antenna detection method, i.e., using single tone detection or RSSI reported from each antenna detected. */ /* Added by Roger, 2013.05.22. */ -/* */ #define ANT_DETECT_BY_SINGLE_TONE BIT(0) #define ANT_DETECT_BY_RSSI BIT(1) #define IS_ANT_DETECT_SUPPORT_SINGLE_TONE(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_SINGLE_TONE) @@ -17,16 +16,6 @@ /*--------------------------Define Parameters-------------------------------*/ -enum { - RF_TYPE_MIN = 0, /* 0 */ - RF_8225 = 1, /* 1 11b/g RF for verification only */ - RF_8256 = 2, /* 2 11b/g/n */ - RF_8258 = 3, /* 3 11a/b/g/n RF */ - RF_6052 = 4, /* 4 11b/g/n RF */ - RF_PSEUDO_11N = 5, /* 5, It is a temporality RF. */ - RF_TYPE_MAX -}; - enum rf_path { RF_PATH_A = 0, RF_PATH_B, @@ -34,12 +23,6 @@ enum rf_path { }; #define TX_1S 0 -#define TX_2S 1 -#define TX_3S 2 -#define TX_4S 3 - -#define RF_PATH_MAX_92C_88E 2 -#define RF_PATH_MAX_90_8812 4 /* Max RF number 90 support */ enum wireless_mode { WIRELESS_MODE_UNKNOWN = 0x00, diff --git a/drivers/staging/rtl8723bs/include/ieee80211.h b/drivers/staging/rtl8723bs/include/ieee80211.h index 9f421e4875b7..9767013887af 100644 --- a/drivers/staging/rtl8723bs/include/ieee80211.h +++ b/drivers/staging/rtl8723bs/include/ieee80211.h @@ -22,7 +22,6 @@ enum { RTL871X_HOSTAPD_ADD_STA = 2, RTL871X_HOSTAPD_REMOVE_STA = 3, RTL871X_HOSTAPD_GET_INFO_STA = 4, - /* REMOVED: PRISM2_HOSTAPD_RESET_TXEXC_STA = 5, */ RTL871X_HOSTAPD_GET_WPAIE_STA = 5, RTL871X_SET_ENCRYPTION = 6, RTL871X_GET_ENCRYPTION = 7, @@ -610,17 +609,8 @@ enum rtw_ieee80211_channel_flags { /* Represent channel details, subset of ieee80211_channel */ struct rtw_ieee80211_channel { - /* enum nl80211_band band; */ - /* u16 center_freq; */ u16 hw_value; u32 flags; - /* int max_antenna_gain; */ - /* int max_power; */ - /* int max_reg_power; */ - /* bool beacon_found; */ - /* u32 orig_flags; */ - /* int orig_mag; */ - /* int orig_mpwr; */ }; /* Parsed Information Elements */ diff --git a/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h b/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h index a1fc18cd247b..15c14b28165e 100644 --- a/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h +++ b/drivers/staging/rtl8723bs/include/ioctl_cfg80211.h @@ -16,7 +16,6 @@ struct rtw_wdev_priv { spinlock_t scan_req_lock; struct net_device *pmon_ndev;/* for monitor interface */ - char ifname_mon[IFNAMSIZ + 1]; /* interface name for monitor interface */ bool block; bool power_mgmt; diff --git a/drivers/staging/rtl8723bs/include/osdep_intf.h b/drivers/staging/rtl8723bs/include/osdep_intf.h index 83a25598e962..f1e7a303a286 100644 --- a/drivers/staging/rtl8723bs/include/osdep_intf.h +++ b/drivers/staging/rtl8723bs/include/osdep_intf.h @@ -20,7 +20,6 @@ u32 rtw_start_drv_threads(struct adapter *padapter); void rtw_stop_drv_threads(struct adapter *padapter); void rtw_cancel_all_timer(struct adapter *padapter); -int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname); struct net_device *rtw_init_netdev(struct adapter *padapter); void rtw_unregister_netdevs(struct dvobj_priv *dvobj); diff --git a/drivers/staging/rtl8723bs/include/osdep_service.h b/drivers/staging/rtl8723bs/include/osdep_service.h index 2f5011a8210c..e2eebd46cb5c 100644 --- a/drivers/staging/rtl8723bs/include/osdep_service.h +++ b/drivers/staging/rtl8723bs/include/osdep_service.h @@ -15,7 +15,7 @@ #include <osdep_service_linux.h> -extern int RTW_STATUS_CODE(int error_code); +int RTW_STATUS_CODE(int error_code); int _rtw_netif_rx(struct net_device *ndev, struct sk_buff *skb); @@ -29,7 +29,7 @@ static inline void flush_signals_thread(void) #define _RND(sz, r) ((((sz)+((r)-1))/(r))*(r)) -extern void rtw_free_netdev(struct net_device *netdev); +void rtw_free_netdev(struct net_device *netdev); /* Macros for handling unaligned memory accesses */ diff --git a/drivers/staging/rtl8723bs/include/osdep_service_linux.h b/drivers/staging/rtl8723bs/include/osdep_service_linux.h index c8274da940ff..cc5eaf6a2c61 100644 --- a/drivers/staging/rtl8723bs/include/osdep_service_linux.h +++ b/drivers/staging/rtl8723bs/include/osdep_service_linux.h @@ -113,6 +113,6 @@ static inline struct adapter *rtw_netdev_priv(struct net_device *netdev) } struct net_device *rtw_alloc_etherdev_with_old_priv(int sizeof_priv, void *old_priv); -extern struct net_device *rtw_alloc_etherdev(int sizeof_priv); +struct net_device *rtw_alloc_etherdev(int sizeof_priv); #endif diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h b/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h index 6b2d79e19088..5e8fc814bbe7 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_cmd.h @@ -7,9 +7,7 @@ #ifndef __RTL8723B_CMD_H__ #define __RTL8723B_CMD_H__ -/* */ /* H2C CMD DEFINITION ------------------------------------------------ */ -/* */ enum { /* Common Class: 000 */ @@ -71,9 +69,9 @@ enum { H2C_8723B_RESET_TSF = 0xC0, H2C_8723B_MAXID, }; -/* */ + /* H2C CMD CONTENT -------------------------------------------------- */ -/* */ + /* _RSVDPAGE_LOC_CMD_0x00 */ #define SET_8723B_H2CCMD_RSVDPAGE_LOC_PROBE_RSP(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT(__pH2CCmd, 0, 8, __Value) #define SET_8723B_H2CCMD_RSVDPAGE_LOC_PSPOLL(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE_8BIT((__pH2CCmd)+1, 0, 8, __Value) @@ -158,9 +156,7 @@ enum { #define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR2(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+4, 0, 8, __Value) #define SET_8723B_H2CCMD_BT_FW_PATCH_ADDR3(__pH2CCmd, __Value) SET_BITS_TO_LE_1BYTE((__pH2CCmd)+5, 0, 8, __Value) -/* */ /* Function Statement -------------------------------------------------- */ -/* */ /* host message to firmware cmd */ void rtl8723b_set_FwPwrMode_cmd(struct adapter *padapter, u8 Mode); @@ -168,7 +164,6 @@ void rtl8723b_set_FwJoinBssRpt_cmd(struct adapter *padapter, u8 mstatus); void rtl8723b_set_rssi_cmd(struct adapter *padapter, u8 *param); void rtl8723b_Add_RateATid(struct adapter *padapter, u32 bitmap, u8 *arg, u8 rssi_level); void rtl8723b_fw_try_ap_cmd(struct adapter *padapter, u32 need_ack); -/* s32 rtl8723b_set_lowpwr_lps_cmd(struct adapter *padapter, u8 enable); */ void rtl8723b_set_FwPsTuneParam_cmd(struct adapter *padapter); void rtl8723b_set_FwMacIdConfig_cmd(struct adapter *padapter, u8 mac_id, u8 raid, u8 bw, u8 sgi, u32 mask); void rtl8723b_set_FwMediaStatusRpt_cmd(struct adapter *padapter, u8 mstatus, u8 macid); diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_dm.h b/drivers/staging/rtl8723bs/include/rtl8723b_dm.h index 50ab7aed079e..cc94edcaeb3c 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_dm.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_dm.h @@ -6,21 +6,13 @@ ******************************************************************************/ #ifndef __RTL8723B_DM_H__ #define __RTL8723B_DM_H__ -/* */ + /* Description: */ -/* */ /* This file is for 8723B dynamic mechanism only */ -/* */ -/* */ -/* */ -/* */ /* structure and define */ -/* */ -/* */ /* function prototype */ -/* */ void rtl8723b_init_dm_priv(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h index c442f01aa585..8d1d721a6d72 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_hal.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_hal.h @@ -19,9 +19,7 @@ #include "Hal8192CPhyReg.h" #include "hal_phy_cfg.h" -/* */ /* RTL8723B From header */ -/* */ #define FW_8723B_SIZE 0x8000 #define FW_8723B_START_ADDRESS 0x1000 @@ -150,9 +148,7 @@ struct rt_firmware_hdr { #define EFUSE_ACCESS_ON 0x69 /* For RTL8723 only. */ #define EFUSE_ACCESS_OFF 0x00 /* For RTL8723 only. */ -/* */ /* EFUSE for BT definition */ -/* */ #define EFUSE_BT_REAL_BANK_CONTENT_LEN 512 #define EFUSE_BT_REAL_CONTENT_LEN 1536 /* 512*3 */ #define EFUSE_BT_MAP_LEN 1024 /* 1k bytes */ @@ -193,7 +189,7 @@ enum { /* tag_Package_Definition */ PACKAGE_TFBGA79 }; -/* rtl8723a_hal_init.c */ +/* rtl8723b_hal_init.c */ s32 rtl8723b_FirmwareDownload(struct adapter *padapter, bool bUsedWoWLANFw); void rtl8723b_FirmwareSelfReset(struct adapter *padapter); void rtl8723b_InitializeFirmwareVars(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_spec.h b/drivers/staging/rtl8723bs/include/rtl8723b_spec.h index 7f749e32a5b9..a5ca5ae1a934 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_spec.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_spec.h @@ -9,11 +9,7 @@ #define HAL_NAV_UPPER_UNIT_8723B 128 /* micro-second */ -/* */ -/* */ /* 0x0000h ~ 0x00FFh System Configuration */ -/* */ -/* */ #define REG_RSV_CTRL_8723B 0x001C /* 3 Byte */ #define REG_BT_WIFI_ANTENNA_SWITCH_8723B 0x0038 #define REG_HSISR_8723B 0x005c @@ -29,11 +25,7 @@ #define REG_HISR1_8723B 0x00BC #define REG_PMC_DBG_CTRL2_8723B 0x00CC -/* */ -/* */ /* 0x0100h ~ 0x01FFh MACTOP General Configuration */ -/* */ -/* */ #define REG_C2HEVT_CMD_ID_8723B 0x01A0 #define REG_C2HEVT_CMD_LEN_8723B 0x01AE #define REG_WOWLAN_WAKE_REASON 0x01C7 @@ -45,25 +37,14 @@ #define REG_HMEBOX_EXT2_8723B 0x01F8 #define REG_HMEBOX_EXT3_8723B 0x01FC -/* */ -/* */ /* 0x0200h ~ 0x027Fh TXDMA Configuration */ -/* */ -/* */ -/* */ -/* */ /* 0x0280h ~ 0x02FFh RXDMA Configuration */ -/* */ -/* */ + #define REG_RXDMA_CONTROL_8723B 0x0286 /* Control the RX DMA. */ #define REG_RXDMA_MODE_CTRL_8723B 0x0290 -/* */ -/* */ /* 0x0300h ~ 0x03FFh PCIe */ -/* */ -/* */ #define REG_PCIE_CTRL_REG_8723B 0x0300 #define REG_INT_MIG_8723B 0x0304 /* Interrupt Migration */ #define REG_BCNQ_DESA_8723B 0x0308 /* TX Beacon Descriptor Address */ @@ -86,49 +67,27 @@ #define REG_PCIE_HCPWM_8723B 0x0363 /* PCIe CPWM */ #define REG_PCIE_MULTIFET_CTRL_8723B 0x036A /* PCIE Multi-Fethc Control */ -/* */ -/* */ /* 0x0400h ~ 0x047Fh Protocol Configuration */ -/* */ -/* */ #define REG_TXPKTBUF_BCNQ_BDNY_8723B 0x0424 #define REG_TXPKTBUF_MGQ_BDNY_8723B 0x0425 #define REG_TXPKTBUF_WMAC_LBK_BF_HD_8723B 0x045D #define REG_AMPDU_BURST_MODE_8723B 0x04BC -/* */ -/* */ /* 0x0500h ~ 0x05FFh EDCA Configuration */ -/* */ -/* */ #define REG_SECONDARY_CCA_CTRL_8723B 0x0577 -/* */ -/* */ /* 0x0600h ~ 0x07FFh WMAC Configuration */ -/* */ -/* */ -/* */ /* SDIO Bus Specification */ -/* */ -/* */ /* SDIO CMD Address Mapping */ -/* */ -/* */ /* I/O bus domain (Host) */ -/* */ -/* */ /* SDIO register */ -/* */ #define SDIO_REG_HCPWM1_8723B 0x025 /* HCI Current Power Mode 1 */ -/* */ /* 8723 Register Bit and Content definition */ -/* */ /* 2 HSISR */ /* interrupt mask which needs to clear */ @@ -138,54 +97,27 @@ HSISR_PDNINT |\ HSISR_GPIO9_INT) -/* */ -/* */ /* 0x0100h ~ 0x01FFh MACTOP General Configuration */ -/* */ -/* */ -/* */ -/* */ /* 0x0200h ~ 0x027Fh TXDMA Configuration */ -/* */ -/* */ -/* */ -/* */ /* 0x0280h ~ 0x02FFh RXDMA Configuration */ -/* */ -/* */ #define BIT_USB_RXDMA_AGG_EN BIT(31) #define RXDMA_AGG_MODE_EN BIT(1) -/* */ -/* */ /* 0x0400h ~ 0x047Fh Protocol Configuration */ -/* */ -/* */ -/* */ /* 8723B REG_CCK_CHECK (offset 0x454) */ -/* */ + #define BIT_BCN_PORT_SEL BIT(5) -/* */ -/* */ /* 0x0500h ~ 0x05FFh EDCA Configuration */ -/* */ -/* */ -/* */ -/* */ /* 0x0600h ~ 0x07FFh WMAC Configuration */ -/* */ -/* */ #define EEPROM_RF_GAIN_OFFSET 0xC1 #define EEPROM_RF_GAIN_VAL 0x1F6 -/* */ /* 8195 IMR/ISR bits (offset 0xB0, 8bits) */ -/* */ #define IMR_DISABLED_8723B 0 /* IMR DW0(0x00B0-00B3) Bit 0-31 */ #define IMR_TIMER2_8723B BIT(31) /* Timeout interrupt 2 */ diff --git a/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h b/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h index ddf868c7899b..d02ead67777a 100644 --- a/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtl8723b_xmit.h @@ -7,9 +7,7 @@ #ifndef __RTL8723B_XMIT_H__ #define __RTL8723B_XMIT_H__ -/* */ /* Queue Select Value in TxDesc */ -/* */ #define QSLT_BK 0x2/* 0x01 */ #define QSLT_BE 0x0 #define QSLT_VI 0x5/* 0x4 */ @@ -56,9 +54,7 @@ /* OFFSET 20 */ #define SGI BIT(6) -/* */ /* defined for TX DESC Operation */ -/* */ struct txdesc_8723b { /* Offset 0 */ u32 pktlen:16; @@ -364,11 +360,9 @@ struct txdesc_8723b { #define SET_EARLYMODE_LEN3_8723B(__pAddr, __Value) SET_BITS_TO_LE_4BYTE(__pAddr+4, 17, 15, __Value) #endif -/* */ -/* */ + /* Rate */ -/* */ -/* */ + /* CCK Rates, TxHT = 0 */ #define DESC8723B_RATE1M 0x00 #define DESC8723B_RATE2M 0x01 diff --git a/drivers/staging/rtl8723bs/include/rtw_ap.h b/drivers/staging/rtl8723bs/include/rtw_ap.h index 866aa8386931..07f092fd54d9 100644 --- a/drivers/staging/rtl8723bs/include/rtw_ap.h +++ b/drivers/staging/rtl8723bs/include/rtw_ap.h @@ -9,7 +9,6 @@ void init_mlme_ap_info(struct adapter *padapter); void free_mlme_ap_info(struct adapter *padapter); -/* void update_BCNTIM(struct adapter *padapter); */ void update_beacon(struct adapter *padapter, u8 ie_id, u8 tx); void add_ratid(struct adapter *padapter, struct sta_info *psta, u8 rssi_level); void expire_timeout_chk(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/rtw_cmd.h b/drivers/staging/rtl8723bs/include/rtw_cmd.h index 2e791da7e815..75a774f8c4f3 100644 --- a/drivers/staging/rtl8723bs/include/rtw_cmd.h +++ b/drivers/staging/rtl8723bs/include/rtw_cmd.h @@ -49,7 +49,6 @@ u32 cmd_done_cnt; u32 rsp_cnt; atomic_t cmdthd_running; - /* u8 cmdthd_running; */ u8 stop_req; struct adapter *padapter; struct mutex sctx_mutex; @@ -107,16 +106,16 @@ struct c2h_evt_hdr_88xx { #define c2h_evt_valid(c2h_evt) ((c2h_evt)->id || (c2h_evt)->plen) int rtw_enqueue_cmd(struct cmd_priv *pcmdpriv, struct cmd_obj *obj); -extern struct cmd_obj *rtw_dequeue_cmd(struct cmd_priv *pcmdpriv); -extern void rtw_free_cmd_obj(struct cmd_obj *pcmd); +struct cmd_obj *rtw_dequeue_cmd(struct cmd_priv *pcmdpriv); +void rtw_free_cmd_obj(struct cmd_obj *pcmd); void rtw_stop_cmd_thread(struct adapter *adapter); int rtw_cmd_thread(void *context); -extern void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv); +void rtw_free_cmd_priv(struct cmd_priv *pcmdpriv); -extern void rtw_free_evt_priv(struct evt_priv *pevtpriv); -extern void rtw_evt_notify_isr(struct evt_priv *pevtpriv); +void rtw_free_evt_priv(struct evt_priv *pevtpriv); +void rtw_evt_notify_isr(struct evt_priv *pevtpriv); enum { NONE_WK_CID, @@ -159,80 +158,75 @@ enum { }; /* -Caller Mode: Infra, Ad-HoC - -Notes: To join a known BSS. - -Command-Event Mode - -*/ + * Caller Mode: Infra, Ad-HoC + * + * Notes: To join a known BSS. + * + * Command-Event Mode + */ /* -Caller Mode: Infra, Ad-Hoc - -Notes: To join the specified bss - -Command Event Mode - -*/ + * Caller Mode: Infra, Ad-Hoc + * + * Notes: To join the specified bss + * + * Command Event Mode + */ struct joinbss_parm { struct wlan_bssid_ex network; }; /* -Caller Mode: Infra, Ad-HoC(C) - -Notes: To disconnect the current associated BSS - -Command Mode - -*/ + * Caller Mode: Infra, Ad-HoC(C) + * + * Notes: To disconnect the current associated BSS + * + * Command Mode + */ struct disconnect_parm { u32 deauth_timeout_ms; }; /* -Caller Mode: AP, Ad-HoC(M) - -Notes: To create a BSS - -Command Mode -*/ + * Caller Mode: AP, Ad-HoC(M) + * + * Notes: To create a BSS + * + * Command Mode + */ struct createbss_parm { struct wlan_bssid_ex network; }; /* -Caller Mode: AP, Ad-HoC, Infra - -Notes: To set the NIC mode of RTL8711 - -Command Mode - -The definition of mode: - -#define IW_MODE_AUTO 0 Let the driver decides which AP to join -#define IW_MODE_ADHOC 1 Single cell network (Ad-Hoc Clients) -#define IW_MODE_INFRA 2 Multi cell network, roaming, .. -#define IW_MODE_MASTER 3 Synchronisation master or Access Point -#define IW_MODE_REPEAT 4 Wireless Repeater (forwarder) -#define IW_MODE_SECOND 5 Secondary master/repeater (backup) -#define IW_MODE_MONITOR 6 Passive monitor (listen only) - -*/ + * Caller Mode: AP, Ad-HoC, Infra + * + * Notes: To set the NIC mode of RTL8711 + * + * Command Mode + * + * The definition of mode: + * + * #define IW_MODE_AUTO 0 Let the driver decides which AP to join + * #define IW_MODE_ADHOC 1 Single cell network (Ad-Hoc Clients) + * #define IW_MODE_INFRA 2 Multi cell network, roaming, .. + * #define IW_MODE_MASTER 3 Synchronisation master or Access Point + * #define IW_MODE_REPEAT 4 Wireless Repeater (forwarder) + * #define IW_MODE_SECOND 5 Secondary master/repeater (backup) + * #define IW_MODE_MONITOR 6 Passive monitor (listen only) + */ struct setopmode_parm { u8 mode; u8 rsvd[3]; }; /* -Caller Mode: AP, Ad-HoC, Infra - -Notes: To ask RTL8711 performing site-survey - -Command-Event Mode - -*/ + * Caller Mode: AP, Ad-HoC, Infra + * + * Notes: To ask RTL8711 performing site-survey + * + * Command-Event Mode + */ #define RTW_SSID_SCAN_AMOUNT 9 /* for WEXT_CSCAN_AMOUNT 9 */ #define RTW_CHANNEL_SCAN_AMOUNT (14+37) @@ -245,13 +239,12 @@ struct sitesurvey_parm { }; /* -Caller Mode: Any - -Notes: To set the auth type of RTL8711. open/shared/802.1x - -Command Mode - -*/ + * Caller Mode: Any + * + * Notes: To set the auth type of RTL8711. open/shared/802.1x + * + * Command Mode + */ struct setauth_parm { u8 mode; /* 0: legacy open, 1: legacy shared 2: 802.1x */ u8 _1x; /* 0: PSK, 1: TLS */ @@ -259,17 +252,16 @@ struct setauth_parm { }; /* -Caller Mode: Infra - -a. algorithm: wep40, wep104, tkip & aes -b. keytype: grp key/unicast key -c. key contents - -when shared key ==> keyid is the camid -when 802.1x ==> keyid [0:1] ==> grp key -when 802.1x ==> keyid > 2 ==> unicast key - -*/ + * Caller Mode: Infra + * + * a. algorithm: wep40, wep104, tkip & aes + * b. keytype: grp key/unicast key + * c. key contents + * + * when shared key ==> keyid is the camid + * when 802.1x ==> keyid [0:1] ==> grp key + * when 802.1x ==> keyid > 2 ==> unicast key + */ struct setkey_parm { u8 algorithm; /* encryption algorithm, could be none, wep40, TKIP, CCMP, wep104 */ u8 keyid; @@ -279,14 +271,13 @@ struct setkey_parm { }; /* -When in AP or Ad-Hoc mode, this is used to -allocate an sw/hw entry for a newly associated sta. - -Command - -when shared key ==> algorithm/keyid - -*/ + * When in AP or Ad-Hoc mode, this is used to + * allocate an sw/hw entry for a newly associated sta. + * + * Command + * + * when shared key ==> algorithm/keyid + */ struct set_stakey_parm { u8 addr[ETH_ALEN]; u8 algorithm; @@ -301,15 +292,14 @@ struct set_stakey_rsp { }; /* -Caller Ad-Hoc/AP - -Command -Rsp(AID == CAMID) mode - -This is to force fw to add an sta_data entry per driver's request. - -FW will write an cam entry associated with it. - -*/ + * Caller Ad-Hoc/AP + * + * Command -Rsp(AID == CAMID) mode + * + * This is to force fw to add an sta_data entry per driver's request. + * + * FW will write an cam entry associated with it. + */ struct set_assocsta_parm { u8 addr[ETH_ALEN]; }; @@ -320,27 +310,25 @@ struct set_assocsta_rsp { }; /* - Caller Ad-Hoc/AP + * Caller Ad-Hoc/AP - Command mode + * Command mode - This is to force fw to del an sta_data entry per driver's request + * This is to force fw to del an sta_data entry per driver's request - FW will invalidate the cam entry associated with it. - -*/ + * FW will invalidate the cam entry associated with it. + */ struct del_assocsta_parm { u8 addr[ETH_ALEN]; }; /* -Caller Mode: AP/Ad-HoC(M) - -Notes: To notify fw that given staid has changed its power state - -Command Mode - -*/ + * Caller Mode: AP/Ad-HoC(M) + * + * Notes: To notify fw that given staid has changed its power state + * + * Command Mode + */ struct setstapwrstate_parm { u8 staid; u8 status; @@ -348,68 +336,63 @@ struct setstapwrstate_parm { }; /* -Caller Mode: Any - -Notes: To setup the basic rate of RTL8711 - -Command Mode - -*/ + * Caller Mode: Any + * + * Notes: To setup the basic rate of RTL8711 + * + * Command Mode + */ struct setbasicrate_parm { u8 basicrates[NumRates]; }; /* -Caller Mode: Any - -Notes: To read the current basic rate - -Command-Rsp Mode - -*/ + * Caller Mode: Any + * + * Notes: To read the current basic rate + * + * Command-Rsp Mode + */ struct getbasicrate_parm { u32 rsvd; }; /* -Caller Mode: Any - -Notes: To setup the data rate of RTL8711 - -Command Mode - -*/ + * Caller Mode: Any + * + * Notes: To setup the data rate of RTL8711 + * + * Command Mode + */ struct setdatarate_parm { u8 mac_id; u8 datarates[NumRates]; }; /* -Caller Mode: Any - -Notes: To read the current data rate - -Command-Rsp Mode - -*/ + * Caller Mode: Any + * + * Notes: To read the current data rate + * + * Command-Rsp Mode + */ struct getdatarate_parm { u32 rsvd; }; /* -Caller Mode: Any -AP: AP can use the info for the contents of beacon frame -Infra: STA can use the info when sitesurveying -Ad-HoC(M): Like AP -Ad-HoC(C): Like STA + * Caller Mode: Any + * AP: AP can use the info for the contents of beacon frame + * Infra: STA can use the info when sitesurveying + * Ad-HoC(M): Like AP + * Ad-HoC(C): Like STA -Notes: To set the phy capability of the NIC + * Notes: To set the phy capability of the NIC -Command Mode - -*/ + * Command Mode + */ struct setphyinfo_parm { struct regulatory_class class_sets[NUM_REGULATORYS]; @@ -421,27 +404,25 @@ struct getphyinfo_parm { }; /* -Caller Mode: Any - -Notes: To set the channel/modem/band -This command will be used when channel/modem/band is changed. - -Command Mode - -*/ + * Caller Mode: Any + * + * Notes: To set the channel/modem/band + * This command will be used when channel/modem/band is changed. + * + * Command Mode + */ struct setphy_parm { u8 rfchannel; u8 modem; }; /* -Caller Mode: Any - -Notes: To get the current setting of channel/modem/band - -Command-Rsp Mode - -*/ + * Caller Mode: Any + * + * Notes: To get the current setting of channel/modem/band + * + * Command-Rsp Mode + */ struct getphy_parm { u32 rsvd; @@ -452,58 +433,57 @@ struct Tx_Beacon_param { }; /* - Notes: This command is used for H2C/C2H loopback testing - - mac[0] == 0 - ==> CMD mode, return H2C_SUCCESS. - The following condition must be true under CMD mode - mac[1] == mac[4], mac[2] == mac[3], mac[0]=mac[5]= 0; - s0 == 0x1234, s1 == 0xabcd, w0 == 0x78563412, w1 == 0x5aa5def7; - s2 == (b1 << 8 | b0); - - mac[0] == 1 - ==> CMD_RSP mode, return H2C_SUCCESS_RSP - - The rsp layout shall be: - rsp: parm: - mac[0] = mac[5]; - mac[1] = mac[4]; - mac[2] = mac[3]; - mac[3] = mac[2]; - mac[4] = mac[1]; - mac[5] = mac[0]; - s0 = s1; - s1 = swap16(s0); - w0 = swap32(w1); - b0 = b1 - s2 = s0 + s1 - b1 = b0 - w1 = w0 - - mac[0] == 2 - ==> CMD_EVENT mode, return H2C_SUCCESS - The event layout shall be: - event: parm: - mac[0] = mac[5]; - mac[1] = mac[4]; - mac[2] = event's sequence number, starting from 1 to parm's marc[3] - mac[3] = mac[2]; - mac[4] = mac[1]; - mac[5] = mac[0]; - s0 = swap16(s0) - event.mac[2]; - s1 = s1 + event.mac[2]; - w0 = swap32(w0); - b0 = b1 - s2 = s0 + event.mac[2] - b1 = b0 - w1 = swap32(w1) - event.mac[2]; - - parm->mac[3] is the total event counts that host requested. - - - event will be the same with the cmd's param. - -*/ + * Notes: This command is used for H2C/C2H loopback testing + * + * mac[0] == 0 + * ==> CMD mode, return H2C_SUCCESS. + * The following condition must be true under CMD mode + * mac[1] == mac[4], mac[2] == mac[3], mac[0]=mac[5]= 0; + * s0 == 0x1234, s1 == 0xabcd, w0 == 0x78563412, w1 == 0x5aa5def7; + * s2 == (b1 << 8 | b0); + * + * mac[0] == 1 + * ==> CMD_RSP mode, return H2C_SUCCESS_RSP + * + * The rsp layout shall be: + * rsp: parm: + * mac[0] = mac[5]; + * mac[1] = mac[4]; + * mac[2] = mac[3]; + * mac[3] = mac[2]; + * mac[4] = mac[1]; + * mac[5] = mac[0]; + * s0 = s1; + * s1 = swap16(s0); + * w0 = swap32(w1); + * b0 = b1 + * s2 = s0 + s1 + * b1 = b0 + * w1 = w0 + * + * mac[0] == 2 + * ==> CMD_EVENT mode, return H2C_SUCCESS + * The event layout shall be: + * event: parm: + * mac[0] = mac[5]; + * mac[1] = mac[4]; + * mac[2] = event's sequence number, starting from 1 to parm's marc[3] + * mac[3] = mac[2]; + * mac[4] = mac[1]; + * mac[5] = mac[0]; + * s0 = swap16(s0) - event.mac[2]; + * s1 = s1 + event.mac[2]; + * w0 = swap32(w0); + * b0 = b1 + * s2 = s0 + event.mac[2] + * b1 = b0 + * w1 = swap32(w1) - event.mac[2]; + * + * parm->mac[3] is the total event counts that host requested. + * + * + * event will be the same with the cmd's param. + */ /* CMD param Formart for driver extra cmd handler */ struct drvextra_cmd_parm { @@ -551,15 +531,14 @@ struct RunInThread_param { /* - -Result: -0x00: success -0x01: success, and check Response. -0x02: cmd ignored due to duplicated sequence number -0x03: cmd dropped due to invalid cmd code -0x04: reserved. - -*/ + * + * Result: + * 0x00: success + * 0x01: success, and check Response. + * 0x02: cmd ignored due to duplicated sequence number + * 0x03: cmd dropped due to invalid cmd code + * 0x04: reserved. + */ #define H2C_RSP_OFFSET 512 @@ -573,50 +552,50 @@ Result: #define H2C_RESERVED 0x07 u8 rtw_sitesurvey_cmd(struct adapter *padapter, struct ndis_802_11_ssid *ssid, int ssid_num, struct rtw_ieee80211_channel *ch, int ch_num); -extern u8 rtw_createbss_cmd(struct adapter *padapter); +u8 rtw_createbss_cmd(struct adapter *padapter); int rtw_startbss_cmd(struct adapter *padapter, int flags); struct sta_info; -extern u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_key, bool enqueue); -extern u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueue); +u8 rtw_setstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 unicast_key, bool enqueue); +u8 rtw_clearstakey_cmd(struct adapter *padapter, struct sta_info *sta, u8 enqueue); -extern u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork); +u8 rtw_joinbss_cmd(struct adapter *padapter, struct wlan_network *pnetwork); u8 rtw_disassoc_cmd(struct adapter *padapter, u32 deauth_timeout_ms, bool enqueue); -extern u8 rtw_setopmode_cmd(struct adapter *padapter, enum nl80211_iftype networktype, bool enqueue); -extern u8 rtw_setrfintfs_cmd(struct adapter *padapter, u8 mode); +u8 rtw_setopmode_cmd(struct adapter *padapter, enum nl80211_iftype networktype, bool enqueue); +u8 rtw_setrfintfs_cmd(struct adapter *padapter, u8 mode); -extern u8 rtw_gettssi_cmd(struct adapter *padapter, u8 offset, u8 *pval); -extern u8 rtw_setfwdig_cmd(struct adapter *padapter, u8 type); -extern u8 rtw_setfwra_cmd(struct adapter *padapter, u8 type); +u8 rtw_gettssi_cmd(struct adapter *padapter, u8 offset, u8 *pval); +u8 rtw_setfwdig_cmd(struct adapter *padapter, u8 type); +u8 rtw_setfwra_cmd(struct adapter *padapter, u8 type); -extern u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr); -extern u8 rtw_reset_securitypriv_cmd(struct adapter *padapter); -extern u8 rtw_free_assoc_resources_cmd(struct adapter *padapter); -extern u8 rtw_dynamic_chk_wk_cmd(struct adapter *adapter); +u8 rtw_addbareq_cmd(struct adapter *padapter, u8 tid, u8 *addr); +u8 rtw_reset_securitypriv_cmd(struct adapter *padapter); +u8 rtw_free_assoc_resources_cmd(struct adapter *padapter); +u8 rtw_dynamic_chk_wk_cmd(struct adapter *adapter); u8 rtw_lps_ctrl_wk_cmd(struct adapter *padapter, u8 lps_ctrl_type, u8 enqueue); u8 rtw_dm_in_lps_wk_cmd(struct adapter *padapter); u8 rtw_dm_ra_mask_wk_cmd(struct adapter *padapter, u8 *psta); -extern u8 rtw_ps_cmd(struct adapter *padapter); +u8 rtw_ps_cmd(struct adapter *padapter); u8 rtw_chk_hi_queue_cmd(struct adapter *padapter); -extern u8 rtw_c2h_packet_wk_cmd(struct adapter *padapter, u8 *pbuf, u16 length); -extern u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt); +u8 rtw_c2h_packet_wk_cmd(struct adapter *padapter, u8 *pbuf, u16 length); +u8 rtw_c2h_wk_cmd(struct adapter *padapter, u8 *c2h_evt); u8 rtw_drvextra_cmd_hdl(struct adapter *padapter, unsigned char *pbuf); -extern void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_survey_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_disassoc_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_joinbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_createbss_cmd_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_getbbrfreg_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); -extern void rtw_getrttbl_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_setstaKey_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_setassocsta_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); +void rtw_getrttbl_cmdrsp_callback(struct adapter *padapter, struct cmd_obj *pcmd); struct _cmd_callback { diff --git a/drivers/staging/rtl8723bs/include/rtw_eeprom.h b/drivers/staging/rtl8723bs/include/rtw_eeprom.h index 9b84105af816..4294b021f1bd 100644 --- a/drivers/staging/rtl8723bs/include/rtw_eeprom.h +++ b/drivers/staging/rtl8723bs/include/rtw_eeprom.h @@ -34,14 +34,12 @@ #define eeprom_cis0_sz 17 #define eeprom_cis1_sz 50 -/* */ /* Customer ID, note that: */ /* This variable is initiailzed through EEPROM or registry, */ /* however, its definition may be different with that in EEPROM for */ /* EEPROM size consideration. So, we have to perform proper translation between them. */ /* Besides, CustomerID of registry has precedence of that of EEPROM. */ /* defined below. 060703, by rcnjko. */ -/* */ enum { RT_CID_DEFAULT = 0, RT_CID_8187_ALPHA0 = 1, diff --git a/drivers/staging/rtl8723bs/include/rtw_efuse.h b/drivers/staging/rtl8723bs/include/rtw_efuse.h index 808ba94a5998..865a47637b5a 100644 --- a/drivers/staging/rtl8723bs/include/rtw_efuse.h +++ b/drivers/staging/rtl8723bs/include/rtw_efuse.h @@ -30,13 +30,11 @@ enum { #define EFUSE_REPEAT_THRESHOLD_ 3 -/* */ /* The following is for BT Efuse definition */ -/* */ #define EFUSE_BT_MAX_MAP_LEN 1024 #define EFUSE_MAX_BANK 4 #define EFUSE_MAX_BT_BANK (EFUSE_MAX_BANK-1) -/* */ + /*--------------------------Define Parameters-------------------------------*/ #define EFUSE_MAX_WORD_UNIT 4 @@ -71,8 +69,7 @@ struct efuse_hal { u8 rtw_efuse_calculate_word_counts(u8 word_en); u8 rtw_efuse_one_byte_read(struct adapter *padapter, u16 addr, u8 *data); -u8 rtw_efuse_read_1_byte(struct adapter *padapter, u16 Address); -void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuseType); -void rtw_efuse_shadow_read(struct adapter *padapter, u8 Type, u16 Offset, u32 *Value); +u8 rtw_efuse_read_1_byte(struct adapter *padapter, u16 address); +void rtw_efuse_shadow_map_update(struct adapter *padapter, u8 efuse_type); #endif diff --git a/drivers/staging/rtl8723bs/include/rtw_ht.h b/drivers/staging/rtl8723bs/include/rtw_ht.h index da3efba7112a..e1c35fb450d0 100644 --- a/drivers/staging/rtl8723bs/include/rtw_ht.h +++ b/drivers/staging/rtl8723bs/include/rtw_ht.h @@ -14,7 +14,6 @@ struct ht_priv { u8 tx_amsdu_enable;/* for enable Tx A-MSDU */ u8 bss_coexist;/* for 20/40 Bss coexist */ - /* u8 baddbareq_issued[16]; */ u32 tx_amsdu_maxlen; /* 1: 8k, 0:4k ; default:8k, for tx */ u32 rx_ampdu_maxlen; /* for rx reordering ctrl win_sz, updated when join_callback. */ @@ -26,7 +25,6 @@ struct ht_priv { /* for processing Tx A-MPDU */ u8 agg_enable_bitmap; - /* u8 ADDBA_retry_count; */ u8 candidate_tid_bitmap; u8 ldpc_cap; diff --git a/drivers/staging/rtl8723bs/include/rtw_io.h b/drivers/staging/rtl8723bs/include/rtw_io.h index 3c99a2bc19bd..55bedd912993 100644 --- a/drivers/staging/rtl8723bs/include/rtw_io.h +++ b/drivers/staging/rtl8723bs/include/rtw_io.h @@ -43,15 +43,15 @@ struct io_priv { }; -extern u8 rtw_read8(struct adapter *adapter, u32 addr); -extern u16 rtw_read16(struct adapter *adapter, u32 addr); -extern u32 rtw_read32(struct adapter *adapter, u32 addr); +u8 rtw_read8(struct adapter *adapter, u32 addr); +u16 rtw_read16(struct adapter *adapter, u32 addr); +u32 rtw_read32(struct adapter *adapter, u32 addr); -extern int rtw_write8(struct adapter *adapter, u32 addr, u8 val); -extern int rtw_write16(struct adapter *adapter, u32 addr, u16 val); -extern int rtw_write32(struct adapter *adapter, u32 addr, u32 val); +int rtw_write8(struct adapter *adapter, u32 addr, u8 val); +int rtw_write16(struct adapter *adapter, u32 addr, u16 val); +int rtw_write32(struct adapter *adapter, u32 addr, u32 val); -extern u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); +u32 rtw_write_port(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); int rtw_init_io_priv(struct adapter *padapter, void (*set_intf_ops)(struct adapter *padapter, struct _io_ops *pops)); diff --git a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h index 768e4868ecfd..020b143f36be 100644 --- a/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h +++ b/drivers/staging/rtl8723bs/include/rtw_ioctl_set.h @@ -7,8 +7,6 @@ #ifndef __RTW_IOCTL_SET_H_ #define __RTW_IOCTL_SET_H_ -typedef u8 NDIS_802_11_PMKID_VALUE[16]; - u8 rtw_set_802_11_authentication_mode(struct adapter *pdapter, enum ndis_802_11_authentication_mode authmode); u8 rtw_set_802_11_add_wep(struct adapter *padapter, struct ndis_802_11_wep *wep); u8 rtw_set_802_11_disassociate(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme.h b/drivers/staging/rtl8723bs/include/rtw_mlme.h index 6faa13535b62..4962eedc7410 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme.h @@ -164,10 +164,6 @@ struct mlme_priv { /* Number of non-HT AP/stations */ int num_sta_no_ht; - /* Number of HT AP/stations 20 MHz */ - /* int num_sta_ht_20mhz; */ - - int num_FortyMHzIntolerant; struct ht_priv htpriv; @@ -198,9 +194,6 @@ struct mlme_priv { /* Number of HT associated stations that do not support greenfield */ int num_sta_ht_no_gf; - /* Number of associated non-HT stations */ - /* int num_sta_no_ht; */ - /* Number of HT associated stations 20 MHz */ int num_sta_ht_20mhz; @@ -215,12 +208,10 @@ struct mlme_priv { u32 assoc_rsp_len; u8 *wps_beacon_ie; - /* u8 *wps_probe_req_ie; */ u8 *wps_probe_resp_ie; u8 *wps_assoc_resp_ie; /* this IE could include p2p ie / wfd ie */ u32 wps_beacon_ie_len; - /* u32 wps_probe_req_ie_len; */ u32 wps_probe_resp_ie_len; u32 wps_assoc_resp_ie_len; /* this IE len could include p2p ie / wfd ie */ @@ -249,32 +240,32 @@ struct hostapd_priv { struct adapter *padapter; }; -extern int hostapd_mode_init(struct adapter *padapter); -extern void hostapd_mode_unload(struct adapter *padapter); +int hostapd_mode_init(struct adapter *padapter); +void hostapd_mode_unload(struct adapter *padapter); -extern void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf); -extern void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_cpwm_event_callback(struct adapter *adapter, u8 *pbuf); -extern void rtw_wmm_event_callback(struct adapter *padapter, u8 *pbuf); +void rtw_joinbss_event_prehandle(struct adapter *adapter, u8 *pbuf); +void rtw_survey_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_surveydone_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_joinbss_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_stassoc_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_stadel_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_cpwm_event_callback(struct adapter *adapter, u8 *pbuf); +void rtw_wmm_event_callback(struct adapter *padapter, u8 *pbuf); -extern void rtw_join_timeout_handler(struct timer_list *t); -extern void _rtw_scan_timeout_handler(struct timer_list *t); +void rtw_join_timeout_handler(struct timer_list *t); +void _rtw_scan_timeout_handler(struct timer_list *t); int event_thread(void *context); -extern void rtw_free_network_queue(struct adapter *adapter, u8 isfreeall); -extern int rtw_init_mlme_priv(struct adapter *adapter);/* (struct mlme_priv *pmlmepriv); */ +void rtw_free_network_queue(struct adapter *adapter, u8 isfreeall); +int rtw_init_mlme_priv(struct adapter *adapter);/* (struct mlme_priv *pmlmepriv); */ -extern void rtw_free_mlme_priv(struct mlme_priv *pmlmepriv); +void rtw_free_mlme_priv(struct mlme_priv *pmlmepriv); -extern signed int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv); -extern signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecuritypriv, signed int keyid, u8 set_tx, bool enqueue); -extern signed int rtw_set_auth(struct adapter *adapter, struct security_priv *psecuritypriv); +signed int rtw_select_and_join_from_scanned_queue(struct mlme_priv *pmlmepriv); +signed int rtw_set_key(struct adapter *adapter, struct security_priv *psecuritypriv, signed int keyid, u8 set_tx, bool enqueue); +signed int rtw_set_auth(struct adapter *adapter, struct security_priv *psecuritypriv); static inline u8 *get_bssid(struct mlme_priv *pmlmepriv) { /* if sta_mode:pmlmepriv->cur_network.network.mac_address => bssid */ @@ -318,48 +309,46 @@ static inline void _clr_fwstate_(struct mlme_priv *pmlmepriv, signed int state) pmlmepriv->bScanInProcess = false; } -extern u16 rtw_get_capability(struct wlan_bssid_ex *bss); -extern void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *target); -extern void rtw_disconnect_hdl_under_linked(struct adapter *adapter, struct sta_info *psta, u8 free_assoc); -extern void rtw_generate_random_ibss(u8 *pibss); -extern struct wlan_network *rtw_find_network(struct __queue *scanned_queue, u8 *addr); -extern struct wlan_network *rtw_get_oldest_wlan_network(struct __queue *scanned_queue); +u16 rtw_get_capability(struct wlan_bssid_ex *bss); +void rtw_update_scanned_network(struct adapter *adapter, struct wlan_bssid_ex *target); +void rtw_disconnect_hdl_under_linked(struct adapter *adapter, struct sta_info *psta, u8 free_assoc); +void rtw_generate_random_ibss(u8 *pibss); +struct wlan_network *rtw_find_network(struct __queue *scanned_queue, u8 *addr); +struct wlan_network *rtw_get_oldest_wlan_network(struct __queue *scanned_queue); struct wlan_network *_rtw_find_same_network(struct __queue *scanned_queue, struct wlan_network *network); -extern void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue); -extern void rtw_indicate_disconnect(struct adapter *adapter); -extern void rtw_indicate_connect(struct adapter *adapter); +void rtw_free_assoc_resources(struct adapter *adapter, int lock_scanned_queue); +void rtw_indicate_disconnect(struct adapter *adapter); +void rtw_indicate_connect(struct adapter *adapter); void rtw_indicate_scan_done(struct adapter *padapter, bool aborted); void rtw_scan_abort(struct adapter *adapter); -extern int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len); -extern int rtw_restruct_wmm_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len, uint initial_out_len); -extern void rtw_init_registrypriv_dev_network(struct adapter *adapter); +int rtw_restruct_sec_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len); +int rtw_restruct_wmm_ie(struct adapter *adapter, u8 *in_ie, u8 *out_ie, uint in_len, uint initial_out_len); +void rtw_init_registrypriv_dev_network(struct adapter *adapter); -extern void rtw_update_registrypriv_dev_network(struct adapter *adapter); +void rtw_update_registrypriv_dev_network(struct adapter *adapter); -extern void _rtw_join_timeout_handler(struct timer_list *t); -extern void rtw_scan_timeout_handler(struct timer_list *t); +void _rtw_join_timeout_handler(struct timer_list *t); +void rtw_scan_timeout_handler(struct timer_list *t); -extern void rtw_dynamic_check_timer_handler(struct adapter *adapter); +void rtw_dynamic_check_timer_handler(struct adapter *adapter); bool rtw_is_scan_deny(struct adapter *adapter); void rtw_clear_scan_deny(struct adapter *adapter); void rtw_set_scan_deny(struct adapter *adapter, u32 ms); void rtw_free_mlme_priv_ie_data(struct mlme_priv *pmlmepriv); -extern void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv); - -/* extern struct wlan_network* _rtw_dequeue_network(struct __queue *queue); */ +void _rtw_free_mlme_priv(struct mlme_priv *pmlmepriv); -extern struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv); +struct wlan_network *rtw_alloc_network(struct mlme_priv *pmlmepriv); -extern void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork, u8 isfreeall); -extern void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork); +void _rtw_free_network(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork, u8 isfreeall); +void _rtw_free_network_nolock(struct mlme_priv *pmlmepriv, struct wlan_network *pnetwork); -extern struct wlan_network *_rtw_find_network(struct __queue *scanned_queue, u8 *addr); +struct wlan_network *_rtw_find_network(struct __queue *scanned_queue, u8 *addr); bool rtw_if_up(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h index 179fae4d8fcc..847a1d75fe39 100644 --- a/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h +++ b/drivers/staging/rtl8723bs/include/rtw_mlme_ext.h @@ -70,14 +70,12 @@ extern unsigned char WMM_INFO_OUI[]; extern unsigned char WMM_PARA_OUI[]; -/* */ /* Channel Plan Type. */ /* Note: */ /* We just add new channel plan when the new channel plan is different from any of the following */ /* channel plan. */ /* If you just want to customize the actions(scan period or join actions) about one of the channel plan, */ /* customize them in rt_channel_info in the RT_CHANNEL_LIST. */ -/* */ enum { /* old channel plan mapping ===== */ RT_CHANNEL_DOMAIN_FCC = 0x00, @@ -207,22 +205,22 @@ enum { }; struct mlme_handler { - unsigned int num; + unsigned int num; char *str; unsigned int (*func)(struct adapter *padapter, union recv_frame *precv_frame); }; struct action_handler { - unsigned int num; + unsigned int num; char *str; unsigned int (*func)(struct adapter *padapter, union recv_frame *precv_frame); }; struct ss_res { - int state; - int bss_cnt; - int channel_idx; - int scan_mode; + int state; + int bss_cnt; + int channel_idx; + int scan_mode; u8 ssid_num; u8 ch_num; struct ndis_802_11_ssid ssid[RTW_SSID_SCAN_AMOUNT]; @@ -253,7 +251,7 @@ struct FW_Sta_Info { u32 status; u32 rx_pkt; u32 retry; - NDIS_802_11_RATES_EX SupportedRates; + u8 SupportedRates[NDIS_802_11_LENGTH_RATES_EX]; }; /* @@ -369,7 +367,6 @@ struct mlme_ext_priv { u16 sa_query_seq; u64 mgnt_80211w_IPN; u64 mgnt_80211w_IPN_rx; - /* struct fw_priv fwpriv; */ unsigned char cur_channel; unsigned char cur_bwmode; @@ -389,7 +386,6 @@ struct mlme_ext_priv { struct timer_list survey_timer; struct timer_list link_timer; struct timer_list sa_query_timer; - /* struct timer_list ADDBA_timer; */ u16 chan_scan_time; unsigned long last_scan_time; u8 scan_abort; @@ -422,15 +418,13 @@ void init_mlme_default_rate_set(struct adapter *padapter); void init_mlme_ext_priv(struct adapter *padapter); void init_hw_mlme_ext(struct adapter *padapter); void free_mlme_ext_priv(struct mlme_ext_priv *pmlmeext); -extern struct xmit_frame *alloc_mgtxmitframe(struct xmit_priv *pxmitpriv); - -/* void fill_fwpriv(struct adapter *padapter, struct fw_priv *pfwpriv); */ +struct xmit_frame *alloc_mgtxmitframe(struct xmit_priv *pxmitpriv); u8 networktype_to_raid_ex(struct adapter *adapter, struct sta_info *psta); void get_rate_set(struct adapter *padapter, unsigned char *pbssrate, int *bssrate_len); void set_mcs_rate_by_mask(u8 *mcs_set, u32 mask); -void update_basic_rate_table(struct adapter *padapter, u8 *mBratesOS); +void update_basic_rate_table(struct adapter *padapter, u8 *basic_rates); void update_basic_rate_table_soft_ap(u8 *bssrateset, u32 bssratelen); void save_dm_func_flag(struct adapter *padapter); @@ -516,8 +510,8 @@ s16 rtw_camid_search(struct adapter *adapter, u8 *addr, s16 kid); s16 rtw_camid_alloc(struct adapter *adapter, struct sta_info *sta, u8 kid); void rtw_camid_free(struct adapter *adapter, u8 cam_id); -extern void rtw_alloc_macid(struct adapter *padapter, struct sta_info *psta); -extern void rtw_release_macid(struct adapter *padapter, struct sta_info *psta); +void rtw_alloc_macid(struct adapter *padapter, struct sta_info *psta); +void rtw_release_macid(struct adapter *padapter, struct sta_info *psta); void report_join_res(struct adapter *padapter, int res); void report_survey_event(struct adapter *padapter, union recv_frame *precv_frame); @@ -527,13 +521,13 @@ void report_add_sta_event(struct adapter *padapter, unsigned char *MacAddr, int void report_wmm_edca_update(struct adapter *padapter); u8 chk_bmc_sleepq_cmd(struct adapter *padapter); -extern u8 set_tx_beacon_cmd(struct adapter *padapter); +u8 set_tx_beacon_cmd(struct adapter *padapter); unsigned int setup_beacon_frame(struct adapter *padapter, unsigned char *beacon_frame); void update_mgnt_tx_rate(struct adapter *padapter, u8 rate); void update_mgntframe_attrib(struct adapter *padapter, struct pkt_attrib *pattrib); void update_mgntframe_attrib_addr(struct adapter *padapter, struct xmit_frame *pmgntframe); void dump_mgntframe(struct adapter *padapter, struct xmit_frame *pmgntframe); -s32 dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms); +void dump_mgntframe_and_wait(struct adapter *padapter, struct xmit_frame *pmgntframe, int timeout_ms); s32 dump_mgntframe_and_wait_ack(struct adapter *padapter, struct xmit_frame *pmgntframe); void issue_beacon(struct adapter *padapter, int timeout_ms); @@ -541,8 +535,6 @@ void issue_probersp(struct adapter *padapter, unsigned char *da, u8 is_valid_p2p void issue_assocreq(struct adapter *padapter); void issue_asocrsp(struct adapter *padapter, unsigned short status, struct sta_info *pstat, int pkt_type); void issue_auth(struct adapter *padapter, struct sta_info *psta, unsigned short status); -void issue_probereq(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da); -s32 issue_probereq_ex(struct adapter *padapter, struct ndis_802_11_ssid *pssid, u8 *da, u8 ch, bool append_wps, int try_cnt, int wait_ms); int issue_nulldata(struct adapter *padapter, unsigned char *da, unsigned int power_mode, int try_cnt, int wait_ms); s32 issue_nulldata_in_interrupt(struct adapter *padapter, u8 *da); int issue_qos_nulldata(struct adapter *padapter, unsigned char *da, u16 tid, int try_cnt, int wait_ms); @@ -589,8 +581,6 @@ void survey_timer_hdl(struct timer_list *t); void link_timer_hdl(struct timer_list *t); void addba_timer_hdl(struct timer_list *t); void sa_query_timer_hdl(struct timer_list *t); -/* void reauth_timer_hdl(struct adapter *padapter); */ -/* void reassoc_timer_hdl(struct adapter *padapter); */ #define set_survey_timer(mlmeext, ms) \ do { \ @@ -606,12 +596,12 @@ void sa_query_timer_hdl(struct timer_list *t); _set_timer(&(mlmeext)->sa_query_timer, (ms)); \ } while (0) -extern void process_addba_req(struct adapter *padapter, u8 *paddba_req, u8 *addr); +void process_addba_req(struct adapter *padapter, u8 *paddba_req, u8 *addr); -extern void update_TSF(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len); -extern void correct_TSF(struct adapter *padapter, struct mlme_ext_priv *pmlmeext); -extern void adaptive_early_32k(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len); -extern bool traffic_status_watchdog(struct adapter *padapter, bool from_timer); +void update_TSF(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len); +void correct_TSF(struct adapter *padapter, struct mlme_ext_priv *pmlmeext); +void adaptive_early_32k(struct mlme_ext_priv *pmlmeext, u8 *pframe, uint len); +bool traffic_status_watchdog(struct adapter *padapter, bool from_timer); int rtw_chk_start_clnt_join(struct adapter *padapter, u8 *ch, u8 *bw, u8 *offset); diff --git a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h index 182b8c88ccc8..c308fcedd632 100644 --- a/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h +++ b/drivers/staging/rtl8723bs/include/rtw_pwrctrl.h @@ -192,7 +192,6 @@ struct pwrctrl_priv { int ps_flag; /* used by autosuspend */ enum rt_rf_power_state rf_pwrstate;/* cur power state, only for IPS */ - /* rt_rf_power_state current_rfpwrstate; */ enum rt_rf_power_state change_rfpwrstate; u8 bHWPowerdown; /* power down mode selection. 0:radio off, 1:power down */ @@ -212,20 +211,20 @@ struct pwrctrl_priv { _set_timer(&(pwrctl)->pwr_state_check_timer, (ms)); \ } while (0) -extern void rtw_init_pwrctrl_priv(struct adapter *adapter); -extern void rtw_free_pwrctrl_priv(struct adapter *adapter); +void rtw_init_pwrctrl_priv(struct adapter *adapter); +void rtw_free_pwrctrl_priv(struct adapter *adapter); s32 rtw_register_task_alive(struct adapter *adapter, u32 task); void rtw_unregister_task_alive(struct adapter *adapter, u32 task); -extern s32 rtw_register_tx_alive(struct adapter *padapter); -extern void rtw_unregister_tx_alive(struct adapter *padapter); -extern s32 rtw_register_cmd_alive(struct adapter *padapter); -extern void rtw_unregister_cmd_alive(struct adapter *padapter); -extern void cpwm_int_hdl(struct adapter *padapter, struct reportpwrstate_parm *preportpwrstate); -extern void LPS_Leave_check(struct adapter *padapter); - -extern void LeaveAllPowerSaveMode(struct adapter *Adapter); -extern void LeaveAllPowerSaveModeDirect(struct adapter *Adapter); +s32 rtw_register_tx_alive(struct adapter *padapter); +void rtw_unregister_tx_alive(struct adapter *padapter); +s32 rtw_register_cmd_alive(struct adapter *padapter); +void rtw_unregister_cmd_alive(struct adapter *padapter); +void cpwm_int_hdl(struct adapter *padapter, struct reportpwrstate_parm *preportpwrstate); +void LPS_Leave_check(struct adapter *padapter); + +void LeaveAllPowerSaveMode(struct adapter *Adapter); +void LeaveAllPowerSaveModeDirect(struct adapter *Adapter); void _ips_enter(struct adapter *padapter); void ips_enter(struct adapter *padapter); int _ips_leave(struct adapter *padapter); diff --git a/drivers/staging/rtl8723bs/include/rtw_recv.h b/drivers/staging/rtl8723bs/include/rtw_recv.h index 9c32d480a20a..b2a863e4d6ce 100644 --- a/drivers/staging/rtl8723bs/include/rtw_recv.h +++ b/drivers/staging/rtl8723bs/include/rtw_recv.h @@ -70,26 +70,26 @@ struct phy_info { u8 rx_pwd_ba11; u8 SignalQuality; /* in 0-100 index. */ - s8 rx_mimo_signal_quality[4]; /* per-path's EVM */ + s8 rx_mimo_signal_quality[4]; /* per-path's EVM */ u8 RxMIMOEVMdbm[4]; /* per-path's EVM dbm */ u8 rx_mimo_signal_strength[4];/* in 0~100 index */ - u16 Cfo_short[4]; /* per-path's Cfo_short */ - u16 Cfo_tail[4]; /* per-path's Cfo_tail */ + u16 Cfo_short[4]; /* per-path's Cfo_short */ + u16 Cfo_tail[4]; /* per-path's Cfo_tail */ - s8 RxPower; /* in dBm Translate from PWdB */ - s8 RecvSignalPower;/* Real power in dBm for this packet, no beautification and aggregation. Keep this raw info to be used for the other procedures. */ + s8 RxPower; /* in dBm Translate from PWdB */ + s8 RecvSignalPower;/* Real power in dBm for this packet, no beautification and aggregation. Keep this raw info to be used for the other procedures. */ u8 bt_rx_rssi_percentage; u8 SignalStrength; /* in 0-100 index. */ - s8 RxPwr[4]; /* per-path's pwdb */ + s8 RxPwr[4]; /* per-path's pwdb */ u8 RxSNR[4]; /* per-path's SNR */ u8 BandWidth; u8 btCoexPwrAdjust; }; -struct rx_pkt_attrib { +struct rx_pkt_attrib { u16 pkt_len; u8 physt; u8 drvinfo_sz; @@ -170,22 +170,22 @@ accesser of recv_priv: rtw_recv_entry(dispatch / passive level); recv_thread(pas using enter_critical section to protect */ struct recv_priv { - spinlock_t lock; - struct __queue free_recv_queue; - struct __queue recv_pending_queue; - struct __queue uc_swdec_pending_queue; + spinlock_t lock; + struct __queue free_recv_queue; + struct __queue recv_pending_queue; + struct __queue uc_swdec_pending_queue; u8 *pallocated_frame_buf; u8 *precv_frame_buf; uint free_recvframe_cnt; - struct adapter *adapter; + struct adapter *adapter; u32 bIsAnyNonBEPkts; - u64 rx_bytes; - u64 rx_pkts; - u64 rx_drop; - uint rx_icv_err; - uint rx_largepacket_crcerr; - uint rx_smallpacket_crcerr; - uint rx_middlepacket_crcerr; + u64 rx_bytes; + u64 rx_pkts; + u64 rx_drop; + uint rx_icv_err; + uint rx_largepacket_crcerr; + uint rx_smallpacket_crcerr; + uint rx_middlepacket_crcerr; struct tasklet_struct irq_prepare_beacon_tasklet; struct tasklet_struct recv_tasklet; @@ -194,10 +194,10 @@ struct recv_priv { u8 *pallocated_recv_buf; u8 *precv_buf; /* 4 alignment */ - struct __queue free_recv_buf_queue; + struct __queue free_recv_buf_queue; u32 free_recv_buf_queue_cnt; - struct __queue recv_buf_pending_queue; + struct __queue recv_buf_pending_queue; /* For display the phy information */ u8 is_signal_dbg; /* for debug */ @@ -206,16 +206,10 @@ struct recv_priv { u8 signal_strength; u8 signal_qual; s8 rssi; /* translate_percentage_to_dbm(ptarget_wlan->network.PhyInfo.SignalStrength); */ - /* s8 rxpwdb; */ s16 noise; - /* int RxSNRdB[2]; */ - /* s8 RxRssi[2]; */ - /* int FalseAlmCnt_all; */ - struct timer_list signal_stat_timer; u32 signal_stat_sampling_interval; - /* u32 signal_stat_converging_constant; */ struct signal_stat signal_qual_data; struct signal_stat signal_strength_data; }; @@ -224,21 +218,14 @@ struct recv_priv { struct sta_recv_priv { - spinlock_t lock; - signed int option; + spinlock_t lock; + signed int option; - /* struct __queue blk_strms[MAX_RX_NUMBLKS]; */ struct __queue defrag_q; /* keeping the fragment frame until defrag */ - struct stainfo_rxcache rxcache; - - /* uint sta_rx_bytes; */ - /* uint sta_rx_pkts; */ - /* uint sta_rx_fail; */ - + struct stainfo_rxcache rxcache; }; - struct recv_buf { struct list_head list; @@ -257,7 +244,7 @@ struct recv_buf { u8 *ptail; u8 *pend; - struct sk_buff *pskb; + struct sk_buff *pskb; u8 reuse; }; @@ -278,11 +265,11 @@ struct recv_buf { */ struct recv_frame_hdr { - struct list_head list; - struct sk_buff *pkt; - struct sk_buff *pkt_newalloc; + struct list_head list; + struct sk_buff *pkt; + struct sk_buff *pkt_newalloc; - struct adapter *adapter; + struct adapter *adapter; u8 fragcnt; @@ -290,7 +277,7 @@ struct recv_frame_hdr { struct rx_pkt_attrib attrib; - uint len; + uint len; u8 *rx_head; u8 *rx_data; u8 *rx_tail; @@ -298,24 +285,18 @@ struct recv_frame_hdr { void *precvbuf; - - /* */ struct sta_info *psta; /* for A-MPDU Rx reordering buffer control */ struct recv_reorder_ctrl *preorder_ctrl; }; - union recv_frame { union{ struct list_head list; struct recv_frame_hdr hdr; uint mem[RECVFRAME_HDR_ALIGN>>2]; } u; - - /* uint mem[MAX_RXSZ>>2]; */ - }; enum { @@ -328,7 +309,7 @@ enum { extern union recv_frame *_rtw_alloc_recvframe(struct __queue *pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */ extern union recv_frame *rtw_alloc_recvframe(struct __queue *pfree_recv_queue); /* get a free recv_frame from pfree_recv_queue */ -extern int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_queue); +extern int rtw_free_recvframe(union recv_frame *precvframe, struct __queue *pfree_recv_queue); extern int _rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue); extern int rtw_enqueue_recvframe(union recv_frame *precvframe, struct __queue *queue); @@ -438,7 +419,7 @@ static inline signed int get_recvframe_len(union recv_frame *precvframe) static inline s32 translate_percentage_to_dbm(u32 SignalStrengthIndex) { - s32 SignalPower; /* in dBm. */ + s32 SignalPower; /* in dBm. */ /* Translate to dBm (x = 0.5y-95). */ SignalPower = (s32)((SignalStrengthIndex + 1) >> 1); @@ -452,6 +433,6 @@ struct sta_info; extern void _rtw_init_sta_recv_priv(struct sta_recv_priv *psta_recvpriv); -extern void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame); +extern void mgt_dispatcher(struct adapter *padapter, union recv_frame *precv_frame); #endif diff --git a/drivers/staging/rtl8723bs/include/rtw_security.h b/drivers/staging/rtl8723bs/include/rtw_security.h index a3bbc605e2ba..33bc1adc8d90 100644 --- a/drivers/staging/rtl8723bs/include/rtw_security.h +++ b/drivers/staging/rtl8723bs/include/rtw_security.h @@ -129,7 +129,6 @@ struct security_priv { u8 binstallGrpkey; u8 binstallBIPkey; u8 busetkipkey; - /* _timer tkip_timer; */ u8 bcheck_grpkey; u8 bgrpkey_handshake; @@ -180,7 +179,7 @@ do {\ if (bmcst)\ encry_algo = (u8)psecuritypriv->dot118021XGrpPrivacy;\ else\ - encry_algo = (u8)psta->dot118021XPrivacy;\ + encry_algo = (u8)psta->dot118021_x_privacy;\ break;\ case dot11_auth_algrthm_wapi:\ encry_algo = (u8)psecuritypriv->dot11_privacy_algrthm;\ diff --git a/drivers/staging/rtl8723bs/include/rtw_xmit.h b/drivers/staging/rtl8723bs/include/rtw_xmit.h index 917e846e9ce2..c5cb814789d8 100644 --- a/drivers/staging/rtl8723bs/include/rtw_xmit.h +++ b/drivers/staging/rtl8723bs/include/rtw_xmit.h @@ -106,11 +106,7 @@ union txdesc { }; struct hw_xmit { - /* spinlock_t xmit_lock; */ - /* struct list_head pending; */ struct __queue *sta_queue; - /* struct hw_txqueue *phwtxqueue; */ - /* signed int txcmdcnt; */ int accnt; }; @@ -166,7 +162,6 @@ struct pkt_attrib { u8 rtsen; u8 cts2self; union Keytype dot11tkiptxmickey; - /* union Keytype dot11tkiprxmickey; */ union Keytype dot118021x_UncstKey; u8 icmp_pkt; @@ -281,7 +276,6 @@ struct sta_xmit_priv { signed int apsd_setting; /* When bit mask is on, the associated edca queue supports APSD. */ - /* struct tx_servq blk_q[MAX_NUMBLKS]; */ struct tx_servq be_q; /* priority == 0, 3 */ struct tx_servq bk_q; /* priority == 1, 2 */ struct tx_servq vi_q; /* priority == 4, 5 */ @@ -290,12 +284,6 @@ struct sta_xmit_priv { struct list_head apsd; u16 txseq_tid[16]; - - /* uint sta_tx_bytes; */ - /* u64 sta_tx_pkts; */ - /* uint sta_tx_fail; */ - - }; @@ -323,35 +311,22 @@ struct xmit_priv { struct completion xmit_comp; struct completion terminate_xmitthread_comp; - /* struct __queue blk_strms[MAX_NUMBLKS]; */ struct __queue be_pending; struct __queue bk_pending; struct __queue vi_pending; struct __queue vo_pending; struct __queue bm_pending; - /* struct __queue legacy_dz_queue; */ - /* struct __queue apsd_queue; */ - u8 *pallocated_frame_buf; u8 *pxmit_frame_buf; uint free_xmitframe_cnt; struct __queue free_xmit_queue; - /* uint mapping_addr; */ - /* uint pkt_sz; */ - u8 *xframe_ext_alloc_addr; u8 *xframe_ext; uint free_xframe_ext_cnt; struct __queue free_xframe_ext_queue; - /* struct hw_txqueue be_txqueue; */ - /* struct hw_txqueue bk_txqueue; */ - /* struct hw_txqueue vi_txqueue; */ - /* struct hw_txqueue vo_txqueue; */ - /* struct hw_txqueue bmc_txqueue; */ - uint frag_len; struct adapter *adapter; @@ -359,7 +334,6 @@ struct xmit_priv { u8 vcs_setting; u8 vcs; u8 vcs_type; - /* u16 rts_thresh; */ u64 tx_bytes; u64 tx_pkts; @@ -397,34 +371,36 @@ struct xmit_priv { spinlock_t lock_sctx; }; -extern struct xmit_frame *__rtw_alloc_cmdxmitframe(struct xmit_priv *pxmitpriv, - enum cmdbuf_type buf_type); +struct xmit_frame *__rtw_alloc_cmdxmitframe(struct xmit_priv *pxmitpriv, + enum cmdbuf_type buf_type); #define rtw_alloc_cmdxmitframe(p) __rtw_alloc_cmdxmitframe(p, CMDBUF_RSVD) #define rtw_alloc_bcnxmitframe(p) __rtw_alloc_cmdxmitframe(p, CMDBUF_BEACON) -extern struct xmit_buf *rtw_alloc_xmitbuf_ext(struct xmit_priv *pxmitpriv); -extern s32 rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); +struct xmit_buf *rtw_alloc_xmitbuf_ext(struct xmit_priv *pxmitpriv); +void rtw_free_xmitbuf_ext(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); -extern struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv); -extern s32 rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); +struct xmit_buf *rtw_alloc_xmitbuf(struct xmit_priv *pxmitpriv); +void rtw_free_xmitbuf(struct xmit_priv *pxmitpriv, struct xmit_buf *pxmitbuf); void rtw_count_tx_stats(struct adapter *padapter, struct xmit_frame *pxmitframe, int sz); -extern void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len); -extern int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib); -extern s32 rtw_put_snap(u8 *data, u16 h_proto); +void rtw_update_protection(struct adapter *padapter, u8 *ie, uint ie_len); +int rtw_make_wlanhdr(struct adapter *padapter, u8 *hdr, struct pkt_attrib *pattrib); +s32 rtw_put_snap(u8 *data, u16 h_proto); -extern struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv); +struct xmit_frame *rtw_alloc_xmitframe(struct xmit_priv *pxmitpriv); struct xmit_frame *rtw_alloc_xmitframe_ext(struct xmit_priv *pxmitpriv); struct xmit_frame *rtw_alloc_xmitframe_once(struct xmit_priv *pxmitpriv); -extern s32 rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe); -extern void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue); +void rtw_free_xmitframe(struct xmit_priv *pxmitpriv, struct xmit_frame *pxmitframe); +void rtw_free_xmitframe_queue(struct xmit_priv *pxmitpriv, struct __queue *pframequeue); struct tx_servq *rtw_get_sta_pending(struct adapter *padapter, struct sta_info *psta, signed int up, u8 *ac); int rtw_xmitframe_enqueue(struct adapter *padapter, struct xmit_frame *pxmitframe); -extern u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib); +u32 rtw_calculate_wlan_pkt_size_by_attribue(struct pkt_attrib *pattrib); #define rtw_wlan_pkt_size(f) rtw_calculate_wlan_pkt_size_by_attribue(&f->attrib) -extern int rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe); -extern s32 rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, struct xmit_frame *pxmitframe); +int rtw_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, + struct xmit_frame *pxmitframe); +int rtw_mgmt_xmitframe_coalesce(struct adapter *padapter, struct sk_buff *pkt, + struct xmit_frame *pxmitframe); s32 _rtw_init_hw_txqueue(struct hw_txqueue *phw_txqueue, u8 ac_tag); void _rtw_init_sta_xmit_priv(struct sta_xmit_priv *psta_xmitpriv); diff --git a/drivers/staging/rtl8723bs/include/sdio_ops.h b/drivers/staging/rtl8723bs/include/sdio_ops.h index 252b0e1646e5..d9510aa598fc 100644 --- a/drivers/staging/rtl8723bs/include/sdio_ops.h +++ b/drivers/staging/rtl8723bs/include/sdio_ops.h @@ -7,27 +7,24 @@ #ifndef __SDIO_OPS_H__ #define __SDIO_OPS_H__ - #include <sdio_ops_linux.h> -extern void sdio_set_intf_ops(struct adapter *padapter, struct _io_ops *pops); +void sdio_set_intf_ops(struct adapter *padapter, struct _io_ops *pops); -/* extern void sdio_func1cmd52_read(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem); */ -/* extern void sdio_func1cmd52_write(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem); */ -extern u8 SdioLocalCmd52Read1Byte(struct adapter *padapter, u32 addr); -extern void SdioLocalCmd52Write1Byte(struct adapter *padapter, u32 addr, u8 v); -extern s32 sdio_local_read(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf); -extern s32 sdio_local_write(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf); +u8 SdioLocalCmd52Read1Byte(struct adapter *padapter, u32 addr); +void SdioLocalCmd52Write1Byte(struct adapter *padapter, u32 addr, u8 v); +s32 sdio_local_read(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf); +s32 sdio_local_write(struct adapter *padapter, u32 addr, u32 cnt, u8 *pbuf); u32 _sdio_read32(struct adapter *padapter, u32 addr); s32 _sdio_write32(struct adapter *padapter, u32 addr, u32 val); -extern void sd_int_hdl(struct adapter *padapter); -extern u8 CheckIPSStatus(struct adapter *padapter); +void sd_int_hdl(struct adapter *padapter); +u8 CheckIPSStatus(struct adapter *padapter); -extern void InitInterrupt8723BSdio(struct adapter *padapter); +void InitInterrupt8723BSdio(struct adapter *padapter); void rtw_sdio_enable_interrupt(struct adapter *padapter); void rtw_sdio_disable_interrupt(struct adapter *padapter); -extern u8 HalQueryTxBufferStatus8723BSdio(struct adapter *padapter); -extern void HalQueryTxOQTBufferStatus8723BSdio(struct adapter *padapter); +u8 HalQueryTxBufferStatus8723BSdio(struct adapter *padapter); +void HalQueryTxOQTBufferStatus8723BSdio(struct adapter *padapter); #endif /* !__SDIO_OPS_H__ */ diff --git a/drivers/staging/rtl8723bs/include/sta_info.h b/drivers/staging/rtl8723bs/include/sta_info.h index 0f53e77c110c..21a4ca841e6e 100644 --- a/drivers/staging/rtl8723bs/include/sta_info.h +++ b/drivers/staging/rtl8723bs/include/sta_info.h @@ -28,50 +28,50 @@ struct wlan_acl_pool { int mode; int num; struct rtw_wlan_acl_node aclnode[NUM_ACL]; - struct __queue acl_node_q; + struct __queue acl_node_q; }; struct rssi_sta { - s32 UndecoratedSmoothedPWDB; - s32 UndecoratedSmoothedCCK; - s32 UndecoratedSmoothedOFDM; - u64 PacketMap; + s32 UndecoratedSmoothedPWDB; + s32 UndecoratedSmoothedCCK; + s32 UndecoratedSmoothedOFDM; + u64 PacketMap; u8 ValidBit; }; -struct stainfo_stats { +struct stainfo_stats { u64 rx_mgnt_pkts; - u64 rx_beacon_pkts; - u64 rx_probereq_pkts; - u64 rx_probersp_pkts; - u64 rx_probersp_bm_pkts; - u64 rx_probersp_uo_pkts; + u64 rx_beacon_pkts; + u64 rx_probereq_pkts; + u64 rx_probersp_pkts; + u64 rx_probersp_bm_pkts; + u64 rx_probersp_uo_pkts; u64 rx_ctrl_pkts; u64 rx_data_pkts; - u64 last_rx_mgnt_pkts; - u64 last_rx_beacon_pkts; - u64 last_rx_probereq_pkts; - u64 last_rx_probersp_pkts; - u64 last_rx_probersp_bm_pkts; - u64 last_rx_probersp_uo_pkts; - u64 last_rx_ctrl_pkts; - u64 last_rx_data_pkts; - - u64 rx_bytes; - u64 rx_drops; - - u64 tx_pkts; - u64 tx_bytes; - u64 tx_drops; + u64 last_rx_mgnt_pkts; + u64 last_rx_beacon_pkts; + u64 last_rx_probereq_pkts; + u64 last_rx_probersp_pkts; + u64 last_rx_probersp_bm_pkts; + u64 last_rx_probersp_uo_pkts; + u64 last_rx_ctrl_pkts; + u64 last_rx_data_pkts; + + u64 rx_bytes; + u64 rx_drops; + + u64 tx_pkts; + u64 tx_bytes; + u64 tx_drops; }; struct sta_info { - spinlock_t lock; - struct list_head list; /* free_sta_queue */ - struct list_head hash_list; /* sta_hash */ + spinlock_t lock; + struct list_head list; /* free_sta_queue */ + struct list_head hash_list; /* sta_hash */ struct adapter *padapter; struct sta_xmit_priv sta_xmitpriv; @@ -87,19 +87,18 @@ struct sta_info { u8 hwaddr[ETH_ALEN]; bool ieee8021x_blocked; - uint dot118021XPrivacy; /* aes, tkip... */ - union Keytype dot11tkiptxmickey; - union Keytype dot11tkiprxmickey; - union Keytype dot118021x_UncstKey; - union pn48 dot11txpn; /* PN48 used for Unicast xmit */ - union pn48 dot11wtxpn; /* PN48 used for Unicast mgmt xmit. */ - union pn48 dot11rxpn; /* PN48 used for Unicast recv. */ - + uint dot118021_x_privacy; /* aes, tkip... */ + union Keytype dot11tkiptxmickey; + union Keytype dot11tkiprxmickey; + union Keytype dot118021x_UncstKey; + union pn48 dot11txpn; /* PN48 used for Unicast xmit */ + union pn48 dot11wtxpn; /* PN48 used for Unicast mgmt xmit. */ + union pn48 dot11rxpn; /* PN48 used for Unicast recv. */ u8 bssrateset[16]; u32 bssratelen; - s32 rssi; - s32 signal_quality; + s32 rssi; + s32 signal_quality; u8 cts2self; u8 rtsen; @@ -122,10 +121,8 @@ struct sta_info { struct recv_reorder_ctrl recvreorder_ctrl[16]; /* for A-MPDU Tx */ - /* unsigned char ampdu_txen_bitmap; */ u16 BA_starting_seqctrl[16]; - struct ht_priv htpriv; /* Notes: */ @@ -186,21 +183,18 @@ struct sta_info { u32 assoc_req_len; /* for DM */ - struct rssi_sta rssi_stat; + struct rssi_sta rssi_stat; /* ODM_STA_INFO_T */ /* ================ODM Relative Info ======================= */ /* Please be care, dont declare too much structure here. It will cost memory * STA support num. */ - /* */ - /* */ /* 2011/10/20 MH Add for ODM STA info. */ - /* */ /* Driver Write */ u8 bValid; /* record the sta status link or not? */ u8 IOTPeer; /* Enum value. HT_IOT_PEER_E */ /* ODM Write */ /* 1 PHY_STATUS_INFO */ - u8 RSSI_Path[4]; /* */ + u8 RSSI_Path[4]; u8 RSSI_Ave; u8 RXEVM[4]; u8 RXSNR[4]; @@ -209,9 +203,7 @@ struct sta_info { /* ODM Write */ /* 1 TX_INFO (may changed by IC) */ /* TX_INFO_T pTxInfo; Define in IC folder. Move lower layer. */ - /* */ /* ================ODM Relative Info ======================= */ - /* */ /* To store the sequence number of received management frame */ u16 rx_mgmt_frame_seq_num; @@ -254,14 +246,14 @@ struct sta_info { #define STA_PKTS_FMT "(m:%llu, c:%llu, d:%llu)" -struct sta_priv { +struct sta_priv { u8 *pallocated_stainfo_buf; u8 *pstainfo_buf; - struct __queue free_sta_queue; + struct __queue free_sta_queue; spinlock_t sta_hash_lock; - struct list_head sta_hash[NUM_STA]; + struct list_head sta_hash[NUM_STA]; int asoc_sta_count; struct __queue sleep_q; struct __queue wakeup_q; @@ -319,7 +311,7 @@ extern u32 _rtw_free_sta_priv(struct sta_priv *pstapriv); int rtw_stainfo_offset(struct sta_priv *stapriv, struct sta_info *sta); struct sta_info *rtw_get_stainfo_by_offset(struct sta_priv *stapriv, int offset); -extern struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr); +extern struct sta_info *rtw_alloc_stainfo(struct sta_priv *pstapriv, u8 *hwaddr); extern u32 rtw_free_stainfo(struct adapter *padapter, struct sta_info *psta); extern void rtw_free_all_stainfo(struct adapter *padapter); extern struct sta_info *rtw_get_stainfo(struct sta_priv *pstapriv, u8 *hwaddr); diff --git a/drivers/staging/rtl8723bs/include/wlan_bssdef.h b/drivers/staging/rtl8723bs/include/wlan_bssdef.h index f4c1456f1476..d318c80c3be3 100644 --- a/drivers/staging/rtl8723bs/include/wlan_bssdef.h +++ b/drivers/staging/rtl8723bs/include/wlan_bssdef.h @@ -12,12 +12,8 @@ #define NDIS_802_11_LENGTH_SSID 32 -#define NDIS_802_11_LENGTH_RATES 8 #define NDIS_802_11_LENGTH_RATES_EX 16 -typedef unsigned char NDIS_802_11_RATES[NDIS_802_11_LENGTH_RATES]; /* Set of 8 data rates */ -typedef unsigned char NDIS_802_11_RATES_EX[NDIS_802_11_LENGTH_RATES_EX]; /* Set of 16 data rates */ - struct ndis_802_11_ssid { u32 ssid_length; u8 ssid[32]; @@ -50,7 +46,7 @@ struct ndis_80211_var_ie { * ETH_ALEN + 2 + * sizeof (struct ndis_802_11_ssid) + sizeof (u32) + * sizeof (long) + - * sizeof (struct ndis_802_11_conf) + sizeof (NDIS_802_11_RATES_EX) + ie_length + * sizeof (struct ndis_802_11_conf) + NDIS_802_11_LENGTH_RATES_EX + ie_length * * Except for ie_length, all other fields are fixed length. Therefore, we can * define a macro to present the partial sum. @@ -82,14 +78,6 @@ enum { Ndis802_11_EncrypteionWAPI }; -#define NDIS_802_11_AI_REQFI_CAPABILITIES 1 -#define NDIS_802_11_AI_REQFI_LISTENINTERVAL 2 -#define NDIS_802_11_AI_REQFI_CURRENTAPADDRESS 4 - -#define NDIS_802_11_AI_RESFI_CAPABILITIES 1 -#define NDIS_802_11_AI_RESFI_STATUSCODE 2 -#define NDIS_802_11_AI_RESFI_ASSOCIATIONID 4 - /* Key mapping keys require a BSSID */ struct ndis_802_11_wep { @@ -99,13 +87,6 @@ struct ndis_802_11_wep { u8 key_material[16];/* variable length depending on above field */ }; -/* mask for authentication/integrity fields */ -#define NDIS_802_11_AUTH_REQUEST_AUTH_FIELDS 0x0f -#define NDIS_802_11_AUTH_REQUEST_REAUTH 0x01 -#define NDIS_802_11_AUTH_REQUEST_KEYUPDATE 0x02 -#define NDIS_802_11_AUTH_REQUEST_PAIRWISE_ERROR 0x06 -#define NDIS_802_11_AUTH_REQUEST_GROUP_ERROR 0x0E - /* MIC check time, 60 seconds. */ #define MIC_CHECK_TIME 60000000 @@ -142,7 +123,7 @@ struct wlan_bssid_ex { long rssi;/* in dBM, raw data , get from PHY) */ struct ndis_802_11_conf configuration; enum nl80211_iftype infrastructure_mode; - NDIS_802_11_RATES_EX supported_rates; + u8 supported_rates[NDIS_802_11_LENGTH_RATES_EX]; struct wlan_phy_info phy_info; u32 ie_length; u8 ies[MAX_IE_SZ]; /* timestamp, beacon interval, and capability information) */ diff --git a/drivers/staging/rtl8723bs/include/xmit_osdep.h b/drivers/staging/rtl8723bs/include/xmit_osdep.h index ee6616880d41..9027abbd837f 100644 --- a/drivers/staging/rtl8723bs/include/xmit_osdep.h +++ b/drivers/staging/rtl8723bs/include/xmit_osdep.h @@ -25,19 +25,19 @@ struct sta_xmit_priv; struct xmit_frame; struct xmit_buf; -extern void _rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev); -extern netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev); +void _rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev); +netdev_tx_t rtw_xmit_entry(struct sk_buff *pkt, struct net_device *pnetdev); void rtw_os_xmit_schedule(struct adapter *padapter); void rtw_os_xmit_resource_free(struct adapter *padapter, struct xmit_buf *pxmitbuf, u32 free_sz, u8 flag); -extern unsigned int rtw_remainder_len(struct pkt_file *pfile); -extern void _rtw_open_pktfile(struct sk_buff *pkt, struct pkt_file *pfile); +unsigned int rtw_remainder_len(struct pkt_file *pfile); +void _rtw_open_pktfile(struct sk_buff *pkt, struct pkt_file *pfile); int _rtw_pktfile_read(struct pkt_file *pfile, u8 *rmem, unsigned int rlen); -extern signed int rtw_endofpktfile(struct pkt_file *pfile); +bool rtw_endofpktfile(struct pkt_file *pfile); -extern void rtw_os_pkt_complete(struct adapter *padapter, struct sk_buff *pkt); -extern void rtw_os_xmit_complete(struct adapter *padapter, struct xmit_frame *pxframe); +void rtw_os_pkt_complete(struct adapter *padapter, struct sk_buff *pkt); +void rtw_os_xmit_complete(struct adapter *padapter, struct xmit_frame *pxframe); #endif /* __XMIT_OSDEP_H_ */ diff --git a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c index be233a471b43..cd80cc6dde49 100644 --- a/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ b/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -204,7 +204,6 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl { struct ieee80211_channel *notify_channel; struct cfg80211_bss *bss = NULL; - /* struct ieee80211_supported_band *band; */ u16 channel; u32 freq; u64 notify_timestamp; @@ -216,7 +215,7 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl struct wireless_dev *wdev = padapter->rtw_wdev; struct wiphy *wiphy = wdev->wiphy; - struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); + struct mlme_priv *pmlmepriv = &padapter->mlmepriv; bssinf_len = pnetwork->network.ie_length + sizeof(struct ieee80211_hdr_3addr); if (bssinf_len > MAX_BSSINFO_LEN) @@ -232,7 +231,6 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl } /* To reduce PBC Overlap rate */ - /* spin_lock_bh(&pwdev_priv->scan_req_lock); */ if (adapter_wdev_data(padapter)->scan_request) { u8 *psr = NULL, sr = 0; struct ndis_802_11_ssid *pssid = &pnetwork->network.ssid; @@ -258,7 +256,6 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl } } } - /* spin_unlock_bh(&pwdev_priv->scan_req_lock); */ channel = pnetwork->network.configuration.ds_config; freq = rtw_ieee80211_channel_to_frequency(channel); @@ -281,17 +278,16 @@ struct cfg80211_bss *rtw_cfg80211_inform_bss(struct adapter *padapter, struct wl pbuf = buf; pwlanhdr = (struct ieee80211_hdr *)pbuf; - fctrl = &(pwlanhdr->frame_control); + fctrl = &pwlanhdr->frame_control; *(fctrl) = 0; SetSeqNum(pwlanhdr, 0/*pmlmeext->mgnt_seq*/); - /* pmlmeext->mgnt_seq++; */ if (pnetwork->network.reserved[0] == 1) { /* WIFI_BEACON */ eth_broadcast_addr(pwlanhdr->addr1); SetFrameSubType(pbuf, WIFI_BEACON); } else { - memcpy(pwlanhdr->addr1, myid(&(padapter->eeprompriv)), ETH_ALEN); + memcpy(pwlanhdr->addr1, myid(&padapter->eeprompriv), ETH_ALEN); SetFrameSubType(pbuf, WIFI_PROBERSP); } @@ -328,7 +324,7 @@ exit: */ int rtw_cfg80211_check_bss(struct adapter *padapter) { - struct wlan_bssid_ex *pnetwork = &(padapter->mlmeextpriv.mlmext_info.network); + struct wlan_bssid_ex *pnetwork = &padapter->mlmeextpriv.mlmext_info.network; struct cfg80211_bss *bss = NULL; struct ieee80211_channel *notify_channel = NULL; u32 freq; @@ -352,7 +348,7 @@ int rtw_cfg80211_check_bss(struct adapter *padapter) void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter) { struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct wlan_network *cur_network = &(pmlmepriv->cur_network); + struct wlan_network *cur_network = &pmlmepriv->cur_network; struct wireless_dev *pwdev = padapter->rtw_wdev; struct wiphy *wiphy = pwdev->wiphy; int freq = (int)cur_network->network.configuration.ds_config; @@ -362,7 +358,7 @@ void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter) return; if (!rtw_cfg80211_check_bss(padapter)) { - struct wlan_bssid_ex *pnetwork = &(padapter->mlmeextpriv.mlmext_info.network); + struct wlan_bssid_ex *pnetwork = &padapter->mlmeextpriv.mlmext_info.network; struct wlan_network *scanned = pmlmepriv->cur_network_scanned; if (check_fwstate(pmlmepriv, WIFI_ADHOC_MASTER_STATE)) { @@ -394,7 +390,7 @@ void rtw_cfg80211_ibss_indicate_connect(struct adapter *padapter) void rtw_cfg80211_indicate_connect(struct adapter *padapter) { struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct wlan_network *cur_network = &(pmlmepriv->cur_network); + struct wlan_network *cur_network = &pmlmepriv->cur_network; struct wireless_dev *pwdev = padapter->rtw_wdev; if (pwdev->iftype != NL80211_IFTYPE_STATION @@ -407,7 +403,7 @@ void rtw_cfg80211_indicate_connect(struct adapter *padapter) return; { - struct wlan_bssid_ex *pnetwork = &(padapter->mlmeextpriv.mlmext_info.network); + struct wlan_bssid_ex *pnetwork = &padapter->mlmeextpriv.mlmext_info.network; struct wlan_network *scanned = pmlmepriv->cur_network_scanned; if (!scanned) { @@ -493,7 +489,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa struct sta_info *psta = NULL, *pbcmc_sta = NULL; struct adapter *padapter = rtw_netdev_priv(dev); struct mlme_priv *pmlmepriv = &padapter->mlmepriv; - struct security_priv *psecuritypriv = &(padapter->securitypriv); + struct security_priv *psecuritypriv = &padapter->securitypriv; struct sta_priv *pstapriv = &padapter->stapriv; char *grpkey = padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey; char *txkey = padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey; @@ -517,7 +513,6 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa } else { psta = rtw_get_stainfo(pstapriv, param->sta_addr); if (!psta) - /* ret = -EINVAL; */ goto exit; } @@ -552,7 +547,7 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa psecuritypriv->dot11PrivacyKeyIndex = wep_key_idx; } - memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len); + memcpy(&psecuritypriv->dot11DefKey[wep_key_idx].skey[0], param->u.crypt.key, wep_key_len); psecuritypriv->dot11DefKeylen[wep_key_idx] = wep_key_len; @@ -578,8 +573,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); /* set mic key */ - memcpy(txkey, &(param->u.crypt.key[16]), 8); - memcpy(rxkey, &(param->u.crypt.key[24]), 8); + memcpy(txkey, ¶m->u.crypt.key[16], 8); + memcpy(rxkey, ¶m->u.crypt.key[24], 8); psecuritypriv->busetkipkey = true; @@ -595,14 +590,14 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa psecuritypriv->binstallGrpkey = true; - psecuritypriv->dot11_privacy_algrthm = psecuritypriv->dot118021XGrpPrivacy;/* */ + psecuritypriv->dot11_privacy_algrthm = psecuritypriv->dot118021XGrpPrivacy; rtw_ap_set_group_key(padapter, param->u.crypt.key, psecuritypriv->dot118021XGrpPrivacy, param->u.crypt.idx); pbcmc_sta = rtw_get_bcmc_stainfo(padapter); if (pbcmc_sta) { pbcmc_sta->ieee8021x_blocked = false; - pbcmc_sta->dot118021XPrivacy = psecuritypriv->dot118021XGrpPrivacy;/* rx will use bmc_sta's dot118021XPrivacy */ + pbcmc_sta->dot118021_x_privacy = psecuritypriv->dot118021XGrpPrivacy;/* rx will use bmc_sta's dot118021_x_privacy */ } } @@ -615,22 +610,22 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); if (strcmp(param->u.crypt.alg, "WEP") == 0) { - psta->dot118021XPrivacy = _WEP40_; + psta->dot118021_x_privacy = _WEP40_; if (param->u.crypt.key_len == 13) - psta->dot118021XPrivacy = _WEP104_; + psta->dot118021_x_privacy = _WEP104_; } else if (strcmp(param->u.crypt.alg, "TKIP") == 0) { - psta->dot118021XPrivacy = _TKIP_; + psta->dot118021_x_privacy = _TKIP_; /* set mic key */ - memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8); - memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8); + memcpy(psta->dot11tkiptxmickey.skey, ¶m->u.crypt.key[16], 8); + memcpy(psta->dot11tkiprxmickey.skey, ¶m->u.crypt.key[24], 8); psecuritypriv->busetkipkey = true; } else if (strcmp(param->u.crypt.alg, "CCMP") == 0) { - psta->dot118021XPrivacy = _AES_; + psta->dot118021_x_privacy = _AES_; } else { - psta->dot118021XPrivacy = _NO_PRIVACY_; + psta->dot118021_x_privacy = _NO_PRIVACY_; } rtw_ap_set_pairwise_key(padapter, psta); @@ -652,8 +647,8 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa memcpy(grpkey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); /* set mic key */ - memcpy(txkey, &(param->u.crypt.key[16]), 8); - memcpy(rxkey, &(param->u.crypt.key[24]), 8); + memcpy(txkey, ¶m->u.crypt.key[16], 8); + memcpy(rxkey, ¶m->u.crypt.key[24], 8); psecuritypriv->busetkipkey = true; @@ -669,14 +664,14 @@ static int rtw_cfg80211_ap_set_encryption(struct net_device *dev, struct ieee_pa psecuritypriv->binstallGrpkey = true; - psecuritypriv->dot11_privacy_algrthm = psecuritypriv->dot118021XGrpPrivacy;/* */ + psecuritypriv->dot11_privacy_algrthm = psecuritypriv->dot118021XGrpPrivacy; rtw_ap_set_group_key(padapter, param->u.crypt.key, psecuritypriv->dot118021XGrpPrivacy, param->u.crypt.idx); pbcmc_sta = rtw_get_bcmc_stainfo(padapter); if (pbcmc_sta) { pbcmc_sta->ieee8021x_blocked = false; - pbcmc_sta->dot118021XPrivacy = psecuritypriv->dot118021XGrpPrivacy;/* rx will use bmc_sta's dot118021XPrivacy */ + pbcmc_sta->dot118021_x_privacy = psecuritypriv->dot118021XGrpPrivacy;/* rx will use bmc_sta's dot118021_x_privacy */ } } } @@ -748,7 +743,7 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param psecuritypriv->dot11PrivacyKeyIndex = wep_key_idx; } - memcpy(&(psecuritypriv->dot11DefKey[wep_key_idx].skey[0]), param->u.crypt.key, wep_key_len); + memcpy(&psecuritypriv->dot11DefKey[wep_key_idx].skey[0], param->u.crypt.key, wep_key_len); psecuritypriv->dot11DefKeylen[wep_key_idx] = wep_key_len; @@ -770,7 +765,7 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param if ((padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption2Enabled) || (padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption3Enabled)) { - psta->dot118021XPrivacy = padapter->securitypriv.dot11_privacy_algrthm; + psta->dot118021_x_privacy = padapter->securitypriv.dot11_privacy_algrthm; } if (param->u.crypt.set_tx == 1) { /* pairwise key */ @@ -778,19 +773,18 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param memcpy(psta->dot118021x_UncstKey.skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); if (strcmp(param->u.crypt.alg, "TKIP") == 0) { /* set mic key */ - memcpy(psta->dot11tkiptxmickey.skey, &(param->u.crypt.key[16]), 8); - memcpy(psta->dot11tkiprxmickey.skey, &(param->u.crypt.key[24]), 8); + memcpy(psta->dot11tkiptxmickey.skey, ¶m->u.crypt.key[16], 8); + memcpy(psta->dot11tkiprxmickey.skey, ¶m->u.crypt.key[24], 8); padapter->securitypriv.busetkipkey = false; - /* _set_timer(&padapter->securitypriv.tkip_timer, 50); */ } rtw_setstakey_cmd(padapter, psta, true, true); } else { /* group key */ if (strcmp(param->u.crypt.alg, "TKIP") == 0 || strcmp(param->u.crypt.alg, "CCMP") == 0) { memcpy(padapter->securitypriv.dot118021XGrpKey[param->u.crypt.idx].skey, param->u.crypt.key, (param->u.crypt.key_len > 16 ? 16 : param->u.crypt.key_len)); - memcpy(padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[16]), 8); - memcpy(padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx].skey, &(param->u.crypt.key[24]), 8); + memcpy(padapter->securitypriv.dot118021XGrptxmickey[param->u.crypt.idx].skey, ¶m->u.crypt.key[16], 8); + memcpy(padapter->securitypriv.dot118021XGrprxmickey[param->u.crypt.idx].skey, ¶m->u.crypt.key[24], 8); padapter->securitypriv.binstallGrpkey = true; padapter->securitypriv.dot118021XGrpKeyid = param->u.crypt.idx; @@ -812,7 +806,7 @@ static int rtw_cfg80211_set_encryption(struct net_device *dev, struct ieee_param if ((padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption2Enabled) || (padapter->securitypriv.ndisencryptstatus == Ndis802_11Encryption3Enabled)) { - pbcmc_sta->dot118021XPrivacy = padapter->securitypriv.dot11_privacy_algrthm; + pbcmc_sta->dot118021_x_privacy = padapter->securitypriv.dot11_privacy_algrthm; } } } else if (check_fwstate(pmlmepriv, WIFI_ADHOC_STATE)) { /* adhoc mode */ @@ -847,8 +841,6 @@ static int cfg80211_rtw_add_key(struct wiphy *wiphy, struct wireless_dev *wdev, switch (params->cipher) { case IW_AUTH_CIPHER_NONE: - /* todo: remove key */ - /* remove = 1; */ alg_name = "none"; break; case WLAN_CIPHER_SUITE_WEP40: @@ -984,7 +976,7 @@ static int cfg80211_rtw_get_station(struct wiphy *wiphy, /* for infra./P2PClient mode */ if (check_fwstate(pmlmepriv, WIFI_STATION_STATE) && check_fwstate(pmlmepriv, _FW_LINKED)) { - struct wlan_network *cur_network = &(pmlmepriv->cur_network); + struct wlan_network *cur_network = &pmlmepriv->cur_network; if (memcmp((u8 *)mac, cur_network->network.mac_address, ETH_ALEN)) { ret = -ENOENT; @@ -1025,7 +1017,7 @@ static int cfg80211_rtw_change_iface(struct wiphy *wiphy, enum nl80211_iftype old_type; struct adapter *padapter = rtw_netdev_priv(ndev); struct wireless_dev *rtw_wdev = padapter->rtw_wdev; - struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); + struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; int ret = 0; if (adapter_to_dvobj(padapter)->processing_dev_remove) { @@ -1114,11 +1106,11 @@ void rtw_cfg80211_unlink_bss(struct adapter *padapter, struct wlan_network *pnet void rtw_cfg80211_surveydone_event_callback(struct adapter *padapter) { struct list_head *plist, *phead; - struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); - struct __queue *queue = &(pmlmepriv->scanned_queue); + struct mlme_priv *pmlmepriv = &padapter->mlmepriv; + struct __queue *queue = &pmlmepriv->scanned_queue; struct wlan_network *pnetwork = NULL; - spin_lock_bh(&(pmlmepriv->scanned_queue.lock)); + spin_lock_bh(&pmlmepriv->scanned_queue.lock); phead = get_list_head(queue); list_for_each(plist, phead) @@ -1127,13 +1119,12 @@ void rtw_cfg80211_surveydone_event_callback(struct adapter *padapter) /* report network only if the current channel set contains the channel to which this network belongs */ if (rtw_ch_set_search_ch(padapter->mlmeextpriv.channel_set, pnetwork->network.configuration.ds_config) >= 0 - && true == rtw_validate_ssid(&(pnetwork->network.ssid))) { - /* ev =translate_scan(padapter, a, pnetwork, ev, stop); */ + && true == rtw_validate_ssid(&pnetwork->network.ssid)) { rtw_cfg80211_inform_bss(padapter, pnetwork); } } - spin_unlock_bh(&(pmlmepriv->scanned_queue.lock)); + spin_unlock_bh(&pmlmepriv->scanned_queue.lock); } static int rtw_cfg80211_set_probe_req_wpsp2pie(struct adapter *padapter, char *buf, int len) @@ -1141,7 +1132,7 @@ static int rtw_cfg80211_set_probe_req_wpsp2pie(struct adapter *padapter, char *b int ret = 0; unsigned int wps_ielen = 0; u8 *wps_ie; - struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); + struct mlme_priv *pmlmepriv = &padapter->mlmepriv; if (len > 0) { wps_ie = rtw_get_wps_ie(buf, len, NULL, &wps_ielen); @@ -1333,7 +1324,6 @@ static int rtw_cfg80211_set_auth_type(struct security_priv *psecuritypriv, break; default: psecuritypriv->dot11_auth_algrthm = dot11_auth_algrthm_open; - /* return -ENOTSUPP; */ } return 0; @@ -1379,9 +1369,6 @@ static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 ciph if (ucast) { psecuritypriv->ndisencryptstatus = ndisencryptstatus; - - /* if (psecuritypriv->dot11_privacy_algrthm >= _AES_) */ - /* psecuritypriv->ndisauthtype = Ndis802_11AuthModeWPA2PSK; */ } return 0; @@ -1390,7 +1377,6 @@ static int rtw_cfg80211_set_cipher(struct security_priv *psecuritypriv, u32 ciph static int rtw_cfg80211_set_key_mgt(struct security_priv *psecuritypriv, u32 key_mgt) { if (key_mgt == WLAN_AKM_SUITE_8021X) - /* auth_type = UMAC_AUTH_TYPE_8021X; */ psecuritypriv->dot11_auth_algrthm = dot11_auth_algrthm_8021x; else if (key_mgt == WLAN_AKM_SUITE_PSK) { psecuritypriv->dot11_auth_algrthm = dot11_auth_algrthm_8021x; @@ -1755,8 +1741,6 @@ static int cfg80211_rtw_connect(struct wiphy *wiphy, struct net_device *ndev, authmode = psecuritypriv->ndisauthtype; rtw_set_802_11_authentication_mode(padapter, authmode); - /* rtw_set_802_11_encryption_mode(padapter, padapter->securitypriv.ndisencryptstatus); */ - if (!rtw_set_802_11_connect(padapter, (u8 *)sme->bssid, &ndis_ssid)) { ret = -1; goto exit; @@ -1833,27 +1817,26 @@ static int cfg80211_rtw_set_pmksa(struct wiphy *wiphy, struct net_device *ndev, struct cfg80211_pmksa *pmksa) { - u8 index, blInserted = false; + bool inserted = false; + u8 index; struct adapter *padapter = rtw_netdev_priv(ndev); struct security_priv *psecuritypriv = &padapter->securitypriv; if (is_zero_ether_addr((u8 *)pmksa->bssid)) return -EINVAL; - blInserted = false; - /* overwrite PMKID */ for (index = 0 ; index < NUM_PMKID_CACHE; index++) { if (!memcmp(psecuritypriv->PMKIDList[index].Bssid, (u8 *)pmksa->bssid, ETH_ALEN)) { memcpy(psecuritypriv->PMKIDList[index].PMKID, (u8 *)pmksa->pmkid, WLAN_PMKID_LEN); psecuritypriv->PMKIDList[index].bUsed = true; psecuritypriv->PMKIDIndex = index + 1; - blInserted = true; + inserted = true; break; } } - if (!blInserted) { + if (!inserted) { memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].Bssid, (u8 *)pmksa->bssid, ETH_ALEN); memcpy(psecuritypriv->PMKIDList[psecuritypriv->PMKIDIndex].PMKID, (u8 *)pmksa->pmkid, WLAN_PMKID_LEN); @@ -1870,7 +1853,8 @@ static int cfg80211_rtw_del_pmksa(struct wiphy *wiphy, struct net_device *ndev, struct cfg80211_pmksa *pmksa) { - u8 index, bMatched = false; + bool matched = false; + u8 index; struct adapter *padapter = rtw_netdev_priv(ndev); struct security_priv *psecuritypriv = &padapter->securitypriv; @@ -1883,12 +1867,12 @@ static int cfg80211_rtw_del_pmksa(struct wiphy *wiphy, eth_zero_addr(psecuritypriv->PMKIDList[index].Bssid); memset(psecuritypriv->PMKIDList[index].PMKID, 0x00, WLAN_PMKID_LEN); psecuritypriv->PMKIDList[index].bUsed = false; - bMatched = true; + matched = true; break; } } - if (!bMatched) + if (!matched) return -EINVAL; return 0; @@ -2058,11 +2042,9 @@ static netdev_tx_t rtw_cfg80211_monitor_if_xmit_entry(struct sk_buff *skb, struc struct xmit_frame *pmgntframe; struct pkt_attrib *pattrib; unsigned char *pframe; - /* u8 category, action, OUI_Subtype, dialogToken = 0; */ - /* unsigned char *frame_body; */ struct ieee80211_hdr *pwlanhdr; - struct xmit_priv *pxmitpriv = &(padapter->xmitpriv); - struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); + struct xmit_priv *pxmitpriv = &padapter->xmitpriv; + struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; u8 *buf = skb->data; u32 len = skb->len; u8 category, action; @@ -2161,7 +2143,6 @@ static int rtw_cfg80211_add_monitor_if(struct adapter *padapter, char *name, str goto out; *ndev = pwdev_priv->pmon_ndev = mon_ndev; - memcpy(pwdev_priv->ifname_mon, name, IFNAMSIZ + 1); out: if (ret && mon_wdev) { @@ -2235,7 +2216,6 @@ static int cfg80211_rtw_del_virtual_intf(struct wiphy *wiphy, if (ndev == pwdev_priv->pmon_ndev) { pwdev_priv->pmon_ndev = NULL; - pwdev_priv->ifname_mon[0] = '\0'; } exit: @@ -2247,7 +2227,7 @@ static int rtw_add_beacon(struct adapter *adapter, const u8 *head, size_t head_l int ret = 0; u8 *pbuf = NULL; unsigned int len, wps_ielen = 0; - struct mlme_priv *pmlmepriv = &(adapter->mlmepriv); + struct mlme_priv *pmlmepriv = &adapter->mlmepriv; if (!check_fwstate(pmlmepriv, WIFI_AP_STATE)) return -EINVAL; @@ -2339,7 +2319,7 @@ static int cfg80211_rtw_del_station(struct wiphy *wiphy, u8 updated = false; struct sta_info *psta = NULL; struct adapter *padapter = rtw_netdev_priv(wdev->netdev); - struct mlme_priv *pmlmepriv = &(padapter->mlmepriv); + struct mlme_priv *pmlmepriv = &padapter->mlmepriv; struct sta_priv *pstapriv = &padapter->stapriv; const u8 *mac = params->mac; @@ -2464,8 +2444,8 @@ static int _cfg80211_rtw_mgmt_tx(struct adapter *padapter, u8 tx_ch, const u8 *b int ret = _FAIL; bool __maybe_unused ack = true; struct ieee80211_hdr *pwlanhdr; - struct xmit_priv *pxmitpriv = &(padapter->xmitpriv); - struct mlme_ext_priv *pmlmeext = &(padapter->mlmeextpriv); + struct xmit_priv *pxmitpriv = &padapter->xmitpriv; + struct mlme_ext_priv *pmlmeext = &padapter->mlmeextpriv; rtw_set_scan_deny(padapter, 1000); @@ -2479,7 +2459,6 @@ static int _cfg80211_rtw_mgmt_tx(struct adapter *padapter, u8 tx_ch, const u8 *b /* starting alloc mgmt frame to dump it */ pmgntframe = alloc_mgtxmitframe(pxmitpriv); if (!pmgntframe) { - /* ret = -ENOMEM; */ ret = _FAIL; goto exit; } @@ -2742,7 +2721,6 @@ int rtw_wdev_alloc(struct adapter *padapter, struct device *dev) pwdev_priv = adapter_wdev_data(padapter); pwdev_priv->rtw_wdev = wdev; pwdev_priv->pmon_ndev = NULL; - pwdev_priv->ifname_mon[0] = '\0'; pwdev_priv->padapter = padapter; pwdev_priv->scan_request = NULL; spin_lock_init(&pwdev_priv->scan_req_lock); diff --git a/drivers/staging/rtl8723bs/os_dep/os_intfs.c b/drivers/staging/rtl8723bs/os_dep/os_intfs.c index c15056ee207c..d220df325fa9 100644 --- a/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ b/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -20,18 +20,16 @@ static int rtw_lbkmode;/* RTL8712_AIR_TRX; */ static int rtw_network_mode = NL80211_IFTYPE_ADHOC;/* infra, ad-hoc, auto */ -/* struct ndis_802_11_ssid ssid; */ static int rtw_channel = 1;/* ad-hoc support requirement */ static int rtw_wireless_mode = WIRELESS_11BG_24N; static int rtw_vrtl_carrier_sense = AUTO_VCS; -static int rtw_vcs_type = RTS_CTS;/* */ -static int rtw_rts_thresh = 2347;/* */ -static int rtw_frag_thresh = 2346;/* */ +static int rtw_vcs_type = RTS_CTS; +static int rtw_rts_thresh = 2347; +static int rtw_frag_thresh = 2346; static int rtw_preamble = PREAMBLE_LONG;/* long, short, auto */ static int rtw_scan_mode = 1;/* active, passive */ static int rtw_adhoc_tx_pwr = 1; static int rtw_soft_ap; -/* int smart_ps = 1; */ static int rtw_power_mgnt = 1; static int rtw_ips_mode = IPS_NORMAL; module_param(rtw_ips_mode, int, 0644); @@ -48,7 +46,6 @@ static int rtw_radio_enable = 1; static int rtw_long_retry_lmt = 7; static int rtw_short_retry_lmt = 7; static int rtw_busy_thresh = 40; -/* int qos_enable = 0; */ static int rtw_ack_policy = NORMAL_ACK; static int rtw_software_encrypt; @@ -109,10 +106,6 @@ static int rtw_80211d; static int rtw_qos_opt_enable;/* 0: disable, 1:enable */ module_param(rtw_qos_opt_enable, int, 0644); -static char *ifname = "wlan%d"; -module_param(ifname, charp, 0644); -MODULE_PARM_DESC(ifname, "The default name to allocate for first interface"); - char *rtw_initmac; /* temp mac address if users want to use instead of the mac address in Efuse */ module_param(rtw_initmac, charp, 0644); @@ -182,7 +175,6 @@ static void loadparam(struct adapter *padapter) registry_par->chip_version = (u8)rtw_chip_version; registry_par->rfintfs = (u8)rtw_rfintfs; registry_par->lbkmode = (u8)rtw_lbkmode; - /* registry_par->hci = (u8)hci; */ registry_par->network_mode = (u8)rtw_network_mode; memcpy(registry_par->ssid.ssid, "ANY", 3); @@ -207,7 +199,6 @@ static void loadparam(struct adapter *padapter) registry_par->long_retry_lmt = (u8)rtw_long_retry_lmt; registry_par->short_retry_lmt = (u8)rtw_short_retry_lmt; registry_par->busy_thresh = (u16)rtw_busy_thresh; - /* registry_par->qos_enable = (u8)rtw_qos_enable; */ registry_par->ack_policy = (u8)rtw_ack_policy; registry_par->software_encrypt = (u8)rtw_software_encrypt; registry_par->software_decrypt = (u8)rtw_software_decrypt; @@ -254,8 +245,6 @@ static void loadparam(struct adapter *padapter) registry_par->enable80211d = (u8)rtw_80211d; - snprintf(registry_par->ifname, 16, "%s", ifname); - registry_par->notch_filter = (u8)rtw_notch_filter; registry_par->reg_enable_tx_power_limit = (u8)rtw_tx_pwr_lmt_enable; @@ -274,10 +263,7 @@ static int rtw_net_set_mac_address(struct net_device *pnetdev, void *p) struct sockaddr *addr = p; if (!padapter->bup) { - /* addr->sa_data[4], addr->sa_data[5]); */ memcpy(padapter->eeprompriv.mac_addr, addr->sa_data, ETH_ALEN); - /* eth_hw_addr_set(pnetdev, addr->sa_data); */ - /* padapter->bset_hwaddr = true; */ } return 0; @@ -289,8 +275,8 @@ static struct net_device_stats *rtw_net_get_stats(struct net_device *pnetdev) struct xmit_priv *pxmitpriv = &padapter->xmitpriv; struct recv_priv *precvpriv = &padapter->recvpriv; - padapter->stats.tx_packets = pxmitpriv->tx_pkts;/* pxmitpriv->tx_pkts++; */ - padapter->stats.rx_packets = precvpriv->rx_pkts;/* precvpriv->rx_pkts++; */ + padapter->stats.tx_packets = pxmitpriv->tx_pkts; + padapter->stats.rx_packets = precvpriv->rx_pkts; padapter->stats.tx_dropped = pxmitpriv->tx_drop; padapter->stats.rx_dropped = precvpriv->rx_drop; padapter->stats.tx_bytes = pxmitpriv->tx_bytes; @@ -402,18 +388,6 @@ static const struct net_device_ops rtw_netdev_ops = { .ndo_get_stats = rtw_net_get_stats, }; -int rtw_init_netdev_name(struct net_device *pnetdev, const char *ifname) -{ - if (dev_alloc_name(pnetdev, ifname) < 0) { - pr_err("dev_alloc_name, fail for %s\n", ifname); - return 1; - } - netif_carrier_off(pnetdev); - /* rtw_netif_stop_queue(pnetdev); */ - - return 0; -} - struct net_device *rtw_init_netdev(struct adapter *old_padapter) { struct adapter *padapter; @@ -431,11 +405,8 @@ struct net_device *rtw_init_netdev(struct adapter *old_padapter) padapter = rtw_netdev_priv(pnetdev); padapter->pnetdev = pnetdev; - /* pnetdev->init = NULL; */ - pnetdev->netdev_ops = &rtw_netdev_ops; - /* pnetdev->tx_timeout = NULL; */ pnetdev->watchdog_timeo = HZ * 3; /* 3 second timeout */ /* step 2. */ @@ -512,7 +483,6 @@ static void rtw_init_default_value(struct adapter *padapter) pxmitpriv->vcs_setting = pregistrypriv->vrtl_carrier_sense; pxmitpriv->vcs = pregistrypriv->vcs_type; pxmitpriv->vcs_type = pregistrypriv->vcs_type; - /* pxmitpriv->rts_thresh = pregistrypriv->rts_thresh; */ pxmitpriv->frag_len = pregistrypriv->frag_thresh; /* recv_priv */ @@ -520,9 +490,6 @@ static void rtw_init_default_value(struct adapter *padapter) /* mlme_priv */ pmlmepriv->scan_mode = SCAN_ACTIVE; - /* qos_priv */ - /* pmlmepriv->qospriv.qos_option = pregistrypriv->wmm_enable; */ - /* ht_priv */ pmlmepriv->htpriv.ampdu_enable = false;/* set to disabled */ @@ -659,9 +626,6 @@ u8 rtw_init_drv_sw(struct adapter *padapter) goto free_xmit_priv; spin_lock_init(&padapter->security_key_mutex); - /* We don't need to memset padapter->XXX to zero, because adapter is allocated by vzalloc(). */ - /* memset((unsigned char *)&padapter->securitypriv, 0, sizeof (struct security_priv)); */ - if (_rtw_init_sta_priv(&padapter->stapriv) == _FAIL) goto free_recv_priv; @@ -730,8 +694,6 @@ u8 rtw_free_drv_sw(struct adapter *padapter) rtw_free_pwrctrl_priv(padapter); - /* kfree((void *)padapter); */ - rtw_hal_data_deinit(padapter); /* free the old_pnetdev */ @@ -747,14 +709,12 @@ u8 rtw_free_drv_sw(struct adapter *padapter) return _SUCCESS; } -static int _rtw_drv_register_netdev(struct adapter *padapter, char *name) +static int _rtw_drv_register_netdev(struct adapter *padapter) { int ret = _SUCCESS; struct net_device *pnetdev = padapter->pnetdev; - /* alloc netdev name */ - if (rtw_init_netdev_name(pnetdev, name)) - return _FAIL; + netif_carrier_off(pnetdev); eth_hw_addr_set(pnetdev, padapter->eeprompriv.mac_addr); @@ -779,9 +739,8 @@ int rtw_drv_register_netdev(struct adapter *if1) { struct dvobj_priv *dvobj = if1->dvobj; struct adapter *padapter = dvobj->padapters; - char *name = if1->registrypriv.ifname; - return _rtw_drv_register_netdev(padapter, name); + return _rtw_drv_register_netdev(padapter); } static int _netdev_open(struct net_device *pnetdev) @@ -862,13 +821,11 @@ int netdev_open(struct net_device *pnetdev) static int ips_netdrv_open(struct adapter *padapter) { int status = _SUCCESS; - /* struct pwrctrl_priv *pwrpriv = adapter_to_pwrctl(padapter); */ padapter->net_closed = false; padapter->driver_stopped = false; padapter->bCardDisableWOHSM = false; - /* padapter->bup = true; */ status = rtw_hal_init(padapter); if (status == _FAIL) @@ -930,7 +887,6 @@ static int netdev_close(struct net_device *pnetdev) struct pwrctrl_priv *pwrctl = adapter_to_pwrctl(padapter); if (pwrctl->bInternalAutoSuspend) { - /* rtw_pwr_wakeup(padapter); */ if (pwrctl->rf_pwrstate == rf_off) pwrctl->ps_flag = true; } @@ -1068,7 +1024,6 @@ static void rtw_suspend_normal(struct adapter *padapter) rtw_dev_unload(padapter); - /* sdio_deinit(adapter_to_dvobj(padapter)); */ if (padapter->intf_deinit) padapter->intf_deinit(adapter_to_dvobj(padapter)); } diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c index c61d3d12df7f..6ef3a7198533 100644 --- a/drivers/staging/rtl8723bs/os_dep/sdio_intf.c +++ b/drivers/staging/rtl8723bs/os_dep/sdio_intf.c @@ -122,8 +122,10 @@ static u32 sdio_init(struct dvobj_priv *dvobj) goto release; err = sdio_set_block_size(func, 512); - if (err) + if (err) { + sdio_disable_func(func); goto release; + } psdio_data->block_transfer_len = 512; psdio_data->tx_block_mode = 1; diff --git a/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c b/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c index e9a2f3f7ec74..15a55c05bdb4 100644 --- a/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c +++ b/drivers/staging/rtl8723bs/os_dep/sdio_ops_linux.c @@ -433,7 +433,6 @@ s32 _sd_write(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, void *pdata) return err; func = psdio->func; -/* size = sdio_align_size(func, cnt); */ if (unlikely((cnt == 1) || (cnt == 2))) { int i; diff --git a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c index 3b6029c20d50..6ee2a1f29aa4 100644 --- a/drivers/staging/rtl8723bs/os_dep/xmit_linux.c +++ b/drivers/staging/rtl8723bs/os_dep/xmit_linux.c @@ -43,7 +43,7 @@ int _rtw_pktfile_read(struct pkt_file *pfile, u8 *rmem, unsigned int rlen) return rlen; } -signed int rtw_endofpktfile(struct pkt_file *pfile) +bool rtw_endofpktfile(struct pkt_file *pfile) { if (pfile->pkt_len == 0) return true; @@ -165,7 +165,6 @@ static int rtw_mlcst2unicst(struct adapter *padapter, struct sk_buff *skb) } } else { pxmitpriv->tx_drop++; - /* dev_kfree_skb_any(skb); */ return false; /* Caller shall tx this multicast frame via normal way. */ } } diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index 8b93bfeb217b..21e310274330 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -13,7 +13,7 @@ static int g_hwcursor = 1; static int g_noaccel __ro_after_init; static int g_nomtrr __ro_after_init; static const char *g_fbmode[] = {NULL, NULL}; -static const char *g_def_fbmode = "1024x768-32@60"; +static const char * const g_def_fbmode = "1024x768-32@60"; static char *g_settings; static int g_dualview __ro_after_init; static char *g_option; @@ -384,7 +384,7 @@ static inline unsigned int chan_to_field(unsigned int chan, return chan << bf->offset; } -static int __maybe_unused lynxfb_suspend(struct device *dev) +static int lynxfb_suspend(struct device *dev) { struct fb_info *info; struct sm750_dev *sm750_dev; @@ -405,7 +405,7 @@ static int __maybe_unused lynxfb_suspend(struct device *dev) return 0; } -static int __maybe_unused lynxfb_resume(struct device *dev) +static int lynxfb_resume(struct device *dev) { struct pci_dev *pdev = to_pci_dev(dev); struct fb_info *info; @@ -479,7 +479,7 @@ static int lynxfb_ops_check_var(struct fb_var_screeninfo *var, /* check if current fb's video memory big enough to hold the onscreen*/ request = var->xres_virtual * (var->bits_per_pixel >> 3); - /* defaulty crtc->channel go with par->index */ + /* default crtc->channel go with par->index */ request = ALIGN(request, crtc->line_pad); request = request * var->yres_virtual; @@ -825,6 +825,11 @@ exit: return ret; } +static void lynxfb_unset_fbinfo(struct fb_info *info) +{ + fb_dealloc_cmap(&info->cmap); +} + /* chip specific g_option configuration routine */ static void sm750fb_setup(struct sm750_dev *sm750_dev, char *src) { @@ -910,6 +915,7 @@ static void sm750fb_framebuffer_release(struct sm750_dev *sm750_dev) while (sm750_dev->fb_count) { fb_info = sm750_dev->fbinfo[sm750_dev->fb_count - 1]; unregister_framebuffer(fb_info); + lynxfb_unset_fbinfo(fb_info); framebuffer_release(fb_info); sm750_dev->fb_count--; } @@ -936,12 +942,14 @@ static int sm750fb_framebuffer_alloc(struct sm750_dev *sm750_dev, int fbidx) err = register_framebuffer(fb_info); if (err < 0) - goto release_fb; + goto unset_fb; sm750_dev->fb_count++; return 0; +unset_fb: + lynxfb_unset_fbinfo(fb_info); release_fb: framebuffer_release(fb_info); return err; @@ -1094,14 +1102,14 @@ static const struct pci_device_id smi_pci_table[] = { MODULE_DEVICE_TABLE(pci, smi_pci_table); -static SIMPLE_DEV_PM_OPS(lynxfb_pm_ops, lynxfb_suspend, lynxfb_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(lynxfb_pm_ops, lynxfb_suspend, lynxfb_resume); static struct pci_driver lynxfb_driver = { .name = "sm750fb", .id_table = smi_pci_table, .probe = lynxfb_pci_probe, .remove = lynxfb_pci_remove, - .driver.pm = &lynxfb_pm_ops, + .driver.pm = pm_sleep_ptr(&lynxfb_pm_ops), }; static int __init lynxfb_init(void) diff --git a/drivers/staging/sm750fb/sm750_accel.h b/drivers/staging/sm750fb/sm750_accel.h index efceefaaafb0..6db54c6526dc 100644 --- a/drivers/staging/sm750fb/sm750_accel.h +++ b/drivers/staging/sm750fb/sm750_accel.h @@ -195,7 +195,8 @@ int sm750_hw_fillrect(struct lynx_accel *accel, u32 color, u32 rop); /** - * sm750_hm_copyarea + * sm750_hw_copyarea + * @accel: Acceleration device data * @source_base: Address of source: offset in frame buffer * @source_pitch: Pitch value of source surface in BYTE * @sx: Starting x coordinate of source surface @@ -219,6 +220,7 @@ int sm750_hw_copyarea(struct lynx_accel *accel, /** * sm750_hw_imageblit + * @accel: Acceleration device data * @src_buf: pointer to start of source buffer in system memory * @start_bit: Mono data can start at any bit in a byte, this value should be *>----- 0 to 7 diff --git a/drivers/staging/vme_user/vme_tsi148.c b/drivers/staging/vme_user/vme_tsi148.c index c695ad9b4ca2..9447c00bc013 100644 --- a/drivers/staging/vme_user/vme_tsi148.c +++ b/drivers/staging/vme_user/vme_tsi148.c @@ -26,6 +26,7 @@ #include <linux/io.h> #include <linux/uaccess.h> #include <linux/byteorder/generic.h> +#include <linux/string_choices.h> #include "vme.h" #include "vme_bridge.h" @@ -2458,7 +2459,7 @@ static int tsi148_probe(struct pci_dev *pdev, const struct pci_device_id *id) geoid); dev_info(&pdev->dev, "VME Write and flush and error check is %s\n", - err_chk ? "enabled" : "disabled"); + str_enabled_disabled(err_chk)); retval = tsi148_crcsr_init(tsi148_bridge, pdev); if (retval) { |
