Commit Graph

196 Commits

Author SHA1 Message Date
Naveen Singh 10ceaac958 ath6kl: iw dev wlan0 link implementation
implementing the cfg ops that gets called when iw dev wlan0
link is issued by user. The ops that needs to be implemented
is get_station.

kvalo: check the mac address, remove signal_pending(), use ARRAY_SIZE()
and fix style issues

Signed-off-by: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Kalle Valo <kalle.valo@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-17 13:31:31 -07:00
Julia Lawall d93089df1b drivers/staging/ath6kl/os/linux/cfg80211.c: Add missing call to cfg80211_put_bss
A call to cfg80211_get_bss hould be accompanied by a call to
cfg80211_put_bss in error-handling code.

A simplified version of the semantic match that finds this problem is:
(http://coccinelle.lip6.fr/)

// <smpl>
@r exists@
local idexpression struct cfg80211_bss * x;
expression ra,rr;
position p1,p2;
@@

x = cfg80211_get_bss@p1(...)
...  when != x = rr
     when != cfg80211_put_bss(x,...)
     when != if (...) { ... cfg80211_put_bss(x,...) ...}
if(...) { ... when != x = ra
     when forall
     when != cfg80211_put_bss(x,...)
 \(return <+...x...+>; \| return@p2...; \) }

@script:python@
p1 << r.p1;
p2 << r.p2;
@@

cocci.print_main("cfg80211_get_bss",p1)
cocci.print_secs("return",p2)

// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-17 13:31:31 -07:00
Kalle Valo e5813f8449 staging: ath6kl: provide hardware version to userspace
Signed-off-by: Kalle Valo <kalle.valo@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-10 11:19:06 -07:00
Vasanthakumar Thiagarajan b83963b3c4 ath6kl: Remove ununsed macros from gpio_reg.h
After this there is no difference between hw2.0/hw/gpio_reg.h
and hw4.0/hw/gpio_reg.h, so remove the duplication.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-06 09:31:55 -07:00
Vasanthakumar Thiagarajan eb050f4c01 ath6kl: Remove gpio.h and gpio_api.h
The macros and function proto types in these files are
not used anywhere.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-06 09:31:55 -07:00
Vasanthakumar Thiagarajan 7c370f9150 ath6kl: Remove unused eeprom.c
Also delete si_reg.h which is only used in eeprom.c

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-06 09:31:55 -07:00
Vasanthakumar Thiagarajan 0ef18385ee ath6kl: Remove dead code with CONFIG_AR6002_REV1_FORCE_HOST
This is not defined anywhere, also delete vmc_reg.h which is
used only in the dead code.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-06 09:31:55 -07:00
Vasanthakumar Thiagarajan d67acf6d72 ath6kl: Remove somemore unused header files
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-06 09:31:45 -07:00
Vasanthakumar Thiagarajan 7e0ddb5049 ath6kl: Remove few more unused header files
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:36:27 -07:00
Vasanthakumar Thiagarajan 0b0c87416f ath6kl: Replace data type macros with kernel defined ones
Now athtypes_linux.h and a_types.h are unused, remove them.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:58 -07:00
Vasanthakumar Thiagarajan cb8a13aade ath6kl: Remove unused macros from gpio_reg.h
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:58 -07:00
Vasanthakumar Thiagarajan 79d16c2010 ath6kl: Remove unused regdump.h
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:58 -07:00
Vasanthakumar Thiagarajan 30eb736961 ath6kl: Remove somemore unused header files from hw4.0/hw/
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:57 -07:00
Vasanthakumar Thiagarajan 053db30673 ath6kl: Remove unused hw4.0/hw/vmc_reg.h
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:57 -07:00
Vasanthakumar Thiagarajan e2da2c0f58 ath6kl: Remove unused bb_lc_reg.h
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:57 -07:00
Vasanthakumar Thiagarajan 21e43d965e ath6kl: Remove unused hw2.0/hw/uart_reg.h
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:56 -07:00
Vasanthakumar Thiagarajan 05177f4020 ath6kl: Remove duplicate si_reg.h
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:56 -07:00
Vasanthakumar Thiagarajan 1ecf2f1c3d ath6kl: Remove duplicate rtc_reg.h
Also remove unused rtc register definition from rtc_reg.h.

Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:56 -07:00
Vasanthakumar Thiagarajan 3dc8f80dbf ath6kl: Remove duplicate mbox_wlan_reg.h
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:55 -07:00
Vasanthakumar Thiagarajan e428b6d67d ath6kl: Remove duplicate mbox_host_reg.h
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:55 -07:00
Vasanthakumar Thiagarajan b783adb7d5 ath6kl: Remove duplicate abp_map.h
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:55 -07:00
Vasanthakumar Thiagarajan a9d4d476df ath6kl: Remove unused analog_register header files
Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:29:54 -07:00
Naveen Singh 9ae62107fb staging: ath6kl: open/shared auth implementation
If the wpa_supplicant conf file supplies both open and shared
algorithm, and AP is configured as shared then connection never
happens. Since it is a FMAC driver additional logic is added in
driver which first detects this, then tries open algorithm for the
first time and when it fails tries the shared algo.

kvalo: fix style issues

Signed-off-by: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Kalle Valo <kalle.valo@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:09:43 -07:00
Naveen Singh 60c87f1453 staging: ath6kl: cfg80211_roam issue; driver wedge
If a heavy traffic is undergoing and a link is lost (bcn miss),
wlan driver does a reconnection on its own and after connection
is re-established, reports it as ROAM_EVENT to cfg. Now this event
is handled as work queue. It could very well happen that by the
time this event gets handled, cfg would have aged out the bss and
we get the following WARN_ON in __cfg80211_roamed function in file
net/wireless/sme.c.

        /* internal error -- how did we get to CONNECTED w/o BSS? */
        if (WARN_ON(!wdev->current_bss)) {
                return;
        }
To resolve the issue we report the BSS whenever we send a connect or
roam event to the cfg.

kvalo: fix style issues

Signed-off-by: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Kalle Valo <kalle.valo@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-05-03 12:09:42 -07:00
Joe Perches 95cd17c9f3 staging: Remove unnecessary semicolons when switch (foo) {...};
Done via perl script:

$ cat remove_semi_switch.pl
my $match_balanced_parentheses = qr/(\((?:[^\(\)]++|(?-1))*\))/;
my $match_balanced_braces      = qr/(\{(?:[^\{\}]++|(?-1))*\})/;

foreach my $file (@ARGV) {
    my $f;
    my $text;
    my $oldtext;

    next if ((-d $file));

    open($f, '<', $file)
	or die "$P: Can't open $file for read\n";
    $oldtext = do { local($/) ; <$f> };
    close($f);

    next if ($oldtext eq "");

    $text = $oldtext;

    my $count = 0;
    do {
	$count = 0;
	$count += $text =~ s@\b(switch\s*${match_balanced_parentheses}\s*)${match_balanced_braces}\s*;@"$1$3"@egx;
    } while ($count > 0);

    if ($text ne $oldtext) {
	my $newfile = $file;

	open($f, '>', $newfile)
	    or die "$P: Can't open $newfile for write\n";
	print $f $text;
	close($f);
    }
}

$

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-25 16:58:35 -07:00
Naveen Singh 8fcf92d1cf ath6kl: fix operations for power management
The cfg80211 ops for power management were completely
broken. If we were asked for to go into power save it was putting
device in awake, and when we were asked to become awake we were
putting the device into power save... This fixes the powersave
operations to do the right thing.

Signed-off-by: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-25 16:24:24 -07:00
Naveen Singh 3c9d2f6c14 ath6kl: fix scan operation while disconnect
If a scan operation is pending and in between a disconnect
event is received from firmware the scan results never get
sent back to cfg80211. This causes a scan failure and yields
a device/resource busy state upon retries. If a disconnect
event is received and scan is pending return the scan done
to the cfg80211 to enable futher scans to be issued.

Signed-off-by: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-25 16:24:24 -07:00
Naveen Singh 26e58b5174 ath6kl: add the device ID on the data command packet
The firmware expects the device ID to be added on the
data and command packets sent to firmware for AR6003 v2.1.1.

Signed-off-by: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-25 16:24:24 -07:00
Naveen Singh f3379c3966 ath6kl: Extend WMI API used by AR6003 v2.1.1
These commands and event IDs are used by AR6003 v2.1.1.
Some events are no longer needed so these are removed now.

Signed-off-by: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-25 16:24:23 -07:00
Naveen Singh 37f7949d0a ath6kl: add support for AR6003 v2.1.1
This adds support for AR6003 v2.1.1. Highlights changes
for this new hardware are:

1. Host interest area, through which driver communicates
   with FW has been enhanced to accomodate additional
   members for proper functioanlity of new HW.

2. The firmware and the board data files are different
   for AR6003 v2.1.1. The capability to read those file
   have been added in the driver.

3. Certain parameters like numdevice, firmware mode needs to be
   programmed for proper functionality of new driver.

Signed-off-by: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-25 16:24:23 -07:00
Naveen Singh a29c58a0e6 staging:ath6kl:Correcting the typo
1) ATH6K_CONFIG_HIF_VIRTUAL_SCATTER needs to be
   ATH6KL_CONFIG_HIF_VIRTUAL_SCATTER in file ar6000_drv.h

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-25 16:24:23 -07:00
Greg Kroah-Hartman 32235b07b5 Staging: merge 2.6.39-rc3 into staging-next
This was done to handle a number of conflicts, the majority of which
were caused by the big "fix spelling issues" patch.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-13 12:14:05 -07:00
Luis R. Rodriguez 427beeb21a ath6kl: remove ar6000_prepare_target() crap
This was empty code, WTF^pi.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:18 -07:00
Luis R. Rodriguez 628a7dd85c ath6kl: remove chatty debug messages on ath6kl driver ops
These do not help in any way.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:17 -07:00
Luis R. Rodriguez 437c567b1a ath6kl: rename the pm ops to something more sensible
This has no functional changes.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:17 -07:00
Luis R. Rodriguez 0174d3c264 ath6kl: cleanup and move the ath6kl pm ops to be assigned statically
There should be no need to assign the pm ops dynamically, so
assign them statically and make them const. While we are
doing this just do some simple code style cleanup on the
routines and move them above prior to their assignment
into the driver ops.

This has no functional change other than assigning the
pm ops statically.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:17 -07:00
Luis R. Rodriguez 2df44b8b9b ath6kl: remove completely pointles platform driver
Perhaps there was some good intention on having some platform
driver on ath6kl, but right now its pointless. Kill!

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:16 -07:00
Luis R. Rodriguez 60a9bc5780 ath6kl: style cleanup on struct sdio_driver components
No functional changes except renames of the routines and
id data structure.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:16 -07:00
Luis R. Rodriguez 09b6b5e916 ath6kl: cleanup allocation and getting of the hif dev
Removes verbose debug messages and checks that are just
not needed, and renames the functions to something more
sensible. While we clean this up, just move the routines
above and remove the forward declarations.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:15 -07:00
Luis R. Rodriguez 4f56a12dd5 ath6kl: propagate errors on hifEnableFunc() failures
This will be passed along to the SDIO probe routine when
it fails. This will generate better error code to the user
when loading the module if it fails.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:15 -07:00
Luis R. Rodriguez 0c804c5a57 ath6kl: remove useless plat_setup_power() calls
These map to do nothing.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:14 -07:00
Luis R. Rodriguez 711908df76 ath6kl: propagate errors on module setup
This propagates initial platform registration failures and
also HIF initialization failures.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:14 -07:00
Luis R. Rodriguez 0e7fd280fb ath6kl: simplify btcoex parameter programming
Make the code more legible by parsing the config options on
the header file. While a it ensure to propagate errors and
bail out if we fail to set btcoex params.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:13 -07:00
Luis R. Rodriguez 524717f1a4 ath6kl: use CONFIG_ATH6KL_ENABLE_COEXISTENCE
When CONFIG_ATH6KL_ENABLE_COEXISTENCE gets enabled we define
another flag called ENABLE_COEXISTENCE, just use
CONFIG_ATH6KL_ENABLE_COEXISTENCE since that is already defined
by the generated autoconf header file from the kernel.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:13 -07:00
Luis R. Rodriguez 5b1978ee00 ath6kl: remove AR600x_CUSTOM_XXX define
There already is a CONFIG_AR600x_CUSTOM_XXX if this is
desired to be used.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:12 -07:00
Luis R. Rodriguez 42ad85dbc1 ath6kl: use CONFIG_AR600x_SD32_XXX
When CONFIG_AR600x_SD32_XXX gets enabled we define
another flag called AR600x_SD32_XXX, just use
CONFIG_AR600x_SD32_XXX since that is already defined
by the generated autoconf header file from the kernel.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:12 -07:00
Luis R. Rodriguez 1e6d4562eb ath6kl: use CONFIG_AR600x_WB31_XXX
When CONFIG_AR600x_WB31_XXX gets enabled we define
another flag called AR600x_WB31_XXX, just use
CONFIG_AR600x_WB31_XXX since that is already defined
by the generated autoconf header file from the kernel.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:11 -07:00
Luis R. Rodriguez 492543eae4 ath6kl: use CONFIG_AR600x_SD31_XXX
When CONFIG_AR600x_SD31_XXX gets enabled we define
another flag called AR600x_SD31_XXX, just use
CONFIG_AR600x_SD31_XXX since that is already defined
by the generated autoconf header file from the kernel.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:11 -07:00
Luis R. Rodriguez 1822d7f80e ath6kl: remove INIT_MODE_DRV_ENABLED define
Since this is defined statically we just leave the code.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:10 -07:00
Luis R. Rodriguez f22ac91fae ath6kl: remove unused define WLAN_HEADERS
All the code is used so just keep it and remove the static define.

Cc: Naveen Singh <nsingh@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2011-04-04 22:58:10 -07:00