summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/orinoco
AgeCommit message (Collapse)Author
2009-07-10orinoco: remove WE nickname supportDavid Kilroy
Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: convert giwrange to cfg80211David Kilroy
Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: convert scanning to cfg80211David Kilroy
This removes the custom scan cache used by orinoco. We also have to avoid calling cfg80211_scan_done from the hard interrupt, so we offload the entirety of scan processing to a workqueue. This may behave strangely if you start scanning just prior to suspending... Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: convert mode setting to cfg80211David Kilroy
Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: provide generic commit functionDavid Kilroy
This allows changes to be commited from cfg80211 functions. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: Handle suspend/restore in core driverDavid Kilroy
Each device does almost exactly the same things on suspend and resume when upping and downing the interface. So move this logic into a common routine. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10airport: store irq in card private structureDavid Kilroy
... instead of relying on the net_device fields. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: move netdev interface creation to main driverDavid Kilroy
With the move to cfg80211 it's nice to keep the hardware operations distinct from the interface, even though we can only support a single interface. This also means the driver resembles other cfg80211 drivers. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: make firmware download less verboseDavid Kilroy
The firmware download code has been in a couple of releases, without any significant issues reported in this code. Convert to use pr_debug, so the messages can be recoverred by defining DEBUG. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: initiate cfg80211 conversionDavid Kilroy
Initialise and register a wiphy. Store the orinoco_private structure in the new wiphy, and use the net_device private area to store the wireless_dev. This results in a change to the way we navigate from a net_device to the driver private orinoco_private, which we encapsulate in the inline function ndev_priv. Most of the remaining calls to netdev_priv are thus replaced by ndev_priv. We can immediately rely on cfg80211 to handle SIOCGIWNAME, so orinoco_ioctl_getname is removed. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: Change set_tkip to use orinoco_private instead of hermes_tDavid Kilroy
hw.h does not include hermes.h, and none of the other functions requires types from that file. Also hermes_t is a (discouraged) typedef so we can't add a forward declaration. Therefore change this function to use orinoco_private. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: initialise independently of netdevDavid Kilroy
Initialise the orinoco driver before registerring with netdev, which will help when we get to cfg80211... Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: Replace net_device with orinoco_private in driver interfacesDavid Kilroy
Move away from using net_device as the main structure in orinoco function calls. Use orinoco_private instead. This makes more sense when we move to cfg80211, and we get wiphys as well. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: firmware helpers should use dev_err and friendsDavid Kilroy
We should be able to call these routines before we register with netdev, so avoid printks using the netdev name. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: use dev_err in early initialisation routinesDavid Kilroy
This allows us to use determine_fw_capabilities, orinoco_hw_read_card_setting and orinoco_hw_allocate_fid prior to netdev registration. Since dev_dbg only prints if DEBUG is defined (or dynamic debug is enabled), move a couple of the more useful prints up to info. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: Move FID allocation to hw.cDavid Kilroy
This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: Move card reading code into hw.cDavid Kilroy
This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-07-10orinoco: Move firmware capability determination into hw.cDavid Kilroy
This is part of refactorring the initialisation code so that we can load the firmware before registerring with netdev. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-04-16orinoco: correct timeout logic in __orinoco_hw_set_tkip_key()Pavel Roskin
If the value read from HERMES_RID_TXQUEUEEMPTY becomes 0 after exactly 100 readings, we wrongly consider it a timeout. Rewrite the clever while loop as a for loop that does the right thing and looks simpler. Reported by Juha Leppanen <juha_motorsportcom@luukku.com> Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-03-16orinoco: firmware: consistently compile out fw cache support if not requestedAndrey Borzenkov
Currently part of support for FW caching is unconditionally compiled in even if it is never used. Consistently remove caching support if not requested by user. Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-27orinoco: prevent accessing memory outside the firmware imageDavid Kilroy
Do this by indicating the end of the appropriate regions of memory. Note that MAX_PDA_SIZE should only apply to the PDA block read from flash/EEPROM, and has been erronously applied to the pdr elements. Remove the macro, and use the actual PDA size passed down by the caller. We also fix up some of the types used, marking as much as possible const, and using void* for the end pointers. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-27orinoco: validate firmware headerDavid Kilroy
Check the Agere firmware headers for validity before attempting to download it. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-25Merge branch 'master' of ↵David S. Miller
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/wireless/orinoco/orinoco.c
2009-02-23orinoco: do not resgister NULL pm_notifier functionAndrey Borzenkov
With DEBUG_NOTIFIERS it results in [11330.890966] WARNING: at /home/bor/src/linux-git/kernel/notifier.c:88 notifier_call_chain+0x91/0xa0() [11330.890977] Hardware name: PORTEGE 4000 [11330.890983] Invalid notifier called! ... Without DEBUG_NOTIFIERS it most likely crashes on NULL pointer. Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru> Acked-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-13orinoco: Storage class should be before const qualifierTobias Klauser
The C99 specification states in section 6.11.5: The placement of a storage-class specifier other than at the beginning of the declaration specifiers in a declaration is an obsolescent feature. Signed-off-by: Tobias Klauser <tklauser@distanz.ch> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-13orinoco: hermes doesn't need to be a separate moduleDavid Kilroy
Just compile it into the orinoco module. If we merge USB support, the module can then be split as appropriate. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-13orinoco: hermes_dld does not need to be a moduleDavid Kilroy
Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-13orinoco: Move WEXT handlers into a separate fileDavid Kilroy
No functional change. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-13orinoco: Move hardware functions into separate fileDavid Kilroy
No functional change. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-13orinoco: Add hardware function to set multicast modeDavid Kilroy
No functional change. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-13orinoco: Use accessor functions for bitrate tablesDavid Kilroy
... when used by the WEXT ioctl functions. This will allow us to separate the card specific stuff from the WEXT code. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-13orinoco: Move firmware handling into a separate fileDavid Kilroy
No functional change. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-13orinoco: Move MIC helpers into new fileDavid Kilroy
No functional change. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-11orinoco: Move scan helpers to a separate fileDavid Kilroy
No functional change. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-11orinoco: use orinoco_private instead of net_device in scan helperDavid Kilroy
This makes the interface to the scan helpers consistent, so we can split them out. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-11orinoco: Rename orinoco.cDavid Kilroy
So that we can split up the file and still produce a module named orinoco.o. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-11orinoco: Fix interesting checkpatch errorsDavid Kilroy
ERROR: "foo * bar" should be "foo *bar" ERROR: do not initialise statics to 0 or NULL WARNING: printk() should include KERN_ facility level WARNING: EXPORT_SYMBOL(foo); should immediately follow its function/variable Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-11orinoco: keep line length below 80 charactersDavid Kilroy
Remove most checkpatch warnings of the type WARNING: line over 80 characters Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-11orinoco: remove unnecessary bracesDavid Kilroy
Remove the following checkpatch warnings WARNING: braces {} are not necessary for any arm of this statement WARNING: braces {} are not necessary for single statement blocks Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-11orinoco: spaces in parenthesised expressionsDavid Kilroy
Remove checkpatch warnings of the following type: ERROR: space prohibited after that open parenthesis '(' ERROR: space prohibited before that close parenthesis ')' ERROR: space prohibited after that '!' (ctx:BxW) ERROR: space required before the open parenthesis '(' ERROR: space required before the open brace '{' Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-11orinoco: address leading and trailing whitespaceDavid Kilroy
Remove the following checkpatch errors from orinoco.c ERROR: trailing whitespace ERROR: code indent should use tabs where possible WARNING: suspect code indent for conditional statements Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-09wireless: replace uses of __constant_{endian}Harvey Harrison
The base versions handle constant folding now. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-02-09orinoco: checkpatch cleanupAndrey Borzenkov
Fix errors and obvious warnings reported by checkpatch in all files except orinoco.c. Orinoco.c is part of different patch series of Dave. Signed-off-by: Andrey Borzenkov <arvidjaar@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-29orinoco: trivial cleanup in alloc_orinocodevAndrey Borzenkov
Remove extra space; remove redundant cast Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru> Acked-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-29orinoco: convert to struct net_device_opsAndrey Borzenkov
No functional changes; use new kernel interface for netdev methods. Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru> Acked-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-29Move orinoco Kconfig entries into drivers/net/wireless/orinoco/KconfigAndrey Borzenkov
Since driver now lives in separate subdirectory, move Kconfig entries in own file so they can be tweaked indepndently. It complements "orinoco: Move sources to a subdirectory". Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru> Acked-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-29orinoco: Remove unused variable rx_dataDavid Kilroy
Probably something leftover from experimentation with tasklets. Now the structure declaration orinoco_rx_data can be relocated to orinoco.c Signed-off-by: David Kilroy <kilroyd@googlemail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-29wireless: Add channel/frequency conversions to ieee80211.hDavid Kilroy
Added mappings for FHSS, DSSS and OFDM channels - with macros to point HR DSSS and ERP to the DSSS mappings. Currently just static inline functions. Use the new functions in the older fullmac drivers. This eliminates a number of const static buffers and removes a couple of range checks that are now redundant. Signed-off-by: David Kilroy <kilroyd@googlemail.com> Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com> Acked-by: Richard Farina <sidhayn@gmail.com> Acked-by: Jeroen Vreeken <pe1rxq@amsat.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-22orinoco: use KERN_DEBUG for link status messagesPavel Roskin
KERN_INFO is too "loud" for messages that are generated by the ordinary events, such as accociation. Use of KERN_DEBUG is consistent with mac80211. Suggested by Michael Gilbert <michael.s.gilbert@gmail.com> Signed-off-by: Pavel Roskin <proski@gnu.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-01-22orinoco: move kmalloc(..., GFP_KERNEL) outside spinlock in ↵Andrey Borzenkov
orinoco_ioctl_set_genie [ 56.923623] BUG: sleeping function called from invalid context at /home/bor/src/linux-git/mm/slub.c:1599 [ 56.923644] in_atomic(): 0, irqs_disabled(): 1, pid: 3031, name: wpa_supplicant [ 56.923656] 2 locks held by wpa_supplicant/3031: [ 56.923662] #0: (rtnl_mutex){--..}, at: [<c02abd1f>] rtnl_lock+0xf/0x20 [ 56.923703] #1: (&priv->lock){++..}, at: [<dfc840c2>] orinoco_ioctl_set_genie+0x52/0x130 [orinoco] [ 56.923782] irq event stamp: 910 [ 56.923788] hardirqs last enabled at (909): [<c01957db>] __kmalloc+0x7b/0x140 [ 56.923820] hardirqs last disabled at (910): [<c0309419>] _spin_lock_irqsave+0x19/0x80 [ 56.923847] softirqs last enabled at (880): [<c0124f54>] __do_softirq+0xc4/0x110 [ 56.923865] softirqs last disabled at (871): [<c01049ae>] do_softirq+0x8e/0xe0 [ 56.923895] Pid: 3031, comm: wpa_supplicant Not tainted 2.6.29-rc2-1avb #1 [ 56.923905] Call Trace: [ 56.923919] [<c01049ae>] ? do_softirq+0x8e/0xe0 [ 56.923941] [<c011ad12>] __might_sleep+0xd2/0x100 [ 56.923952] [<c0195837>] __kmalloc+0xd7/0x140 [ 56.923963] [<c030946a>] ? _spin_lock_irqsave+0x6a/0x80 [ 56.923981] [<dfc840e9>] ? orinoco_ioctl_set_genie+0x79/0x130 [orinoco] [ 56.923999] [<dfc840c2>] ? orinoco_ioctl_set_genie+0x52/0x130 [orinoco] [ 56.924017] [<dfc840e9>] orinoco_ioctl_set_genie+0x79/0x130 [orinoco] [ 56.924036] [<c0209325>] ? copy_from_user+0x35/0x130 [ 56.924061] [<c02ffd96>] ioctl_standard_call+0x196/0x380 [ 56.924085] [<c029f945>] ? __dev_get_by_name+0x85/0xb0 [ 56.924096] [<c02ff88f>] wext_handle_ioctl+0x14f/0x230 [ 56.924113] [<dfc84070>] ? orinoco_ioctl_set_genie+0x0/0x130 [orinoco] [ 56.924132] [<c02a3da5>] dev_ioctl+0x495/0x570 [ 56.924155] [<c0293e05>] ? sys_sendto+0xa5/0xd0 [ 56.924171] [<c0142fe8>] ? mark_held_locks+0x48/0x90 [ 56.924183] [<c0292880>] ? sock_ioctl+0x0/0x280 [ 56.924193] [<c029297d>] sock_ioctl+0xfd/0x280 [ 56.924203] [<c0292880>] ? sock_ioctl+0x0/0x280 [ 56.924235] [<c01a51d0>] vfs_ioctl+0x20/0x80 [ 56.924246] [<c01a53e2>] do_vfs_ioctl+0x72/0x570 [ 56.924257] [<c0293e62>] ? sys_send+0x32/0x40 [ 56.924268] [<c02947c0>] ? sys_socketcall+0x1d0/0x2a0 [ 56.924280] [<c010339f>] ? sysenter_exit+0xf/0x16 [ 56.924292] [<c01a5919>] sys_ioctl+0x39/0x70 [ 56.924302] [<c0103371>] sysenter_do_call+0x12/0x31 Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru> Cc: stable@kernel.org Signed-off-by: John W. Linville <linville@tuxdriver.com>