Commit Graph

1761 Commits

Author SHA1 Message Date
solomon 10cae35cb3 Several changes:
1) eliminate hw->usb_removed; use the existing wlandev->hwremoved field
   instead.
2) flush_scheduled_work() in drvr_stop only when we're about to do a
   device removal (as oppoed to user-initiated ifstate_disable)
3) only call netif_carrier_off if we're not about to shut down.
2005-03-10 15:02:32 +00:00
solomon be5cddd4e8 1) use netif_rx_ni instead of netif_rx, as we'e calling it from a
softirq context already.
2) in p80211netdev_removed, use netif_device_detach() too.
2005-03-10 14:59:34 +00:00
solomon a44bcf1a8c This should get the prism2_usb driver receiving traffic again.
The woes of backporting code...
2005-03-10 04:04:21 +00:00
solomon 80fb4af148 it helps to log the error message before the goto. 2005-03-09 20:30:36 +00:00
solomon a2ec2afcc6 Revert the lock tap-dance; we need it to guarantee CTLX state when
deleting the timers.

What a mess.  Thank you, Chris Rankin for schooling me on timer races..
2005-03-09 15:27:43 +00:00
solomon 5a8b3530ff fixes from Chris Rankin:
Here's a quick patch for the USB adapter. We really do
want to pass GFP_KERNEL to kmalloc if we can, because
this will allow kmalloc to sleep if a suitable block
of memory isn't immediately available. With
GFP_ATOMIC, kmalloc has no choice but to fail.

I've also removed the spinlock from hfa384x_usb_defer,
to bring it into line with the urb_rx_submit() and
urb_tx_submit().
2005-03-08 23:01:02 +00:00
solomon b1a1da9764 Restore the async get/setconfig calls, and fix the multicast set. 2005-03-08 15:44:57 +00:00
solomon 9a557a4cbc 1) Revert the spin_locks to their irqsave variants in the URB callback
functions.
2) (re-)Convert del_timer_sync() to del_timer() in all URB callback 
   functions, but leave out the complex lock thrashing.
2005-03-08 15:15:47 +00:00
solomon 6a0e55f2c8 usbctlx_alloc now allocates atomically always.
since we allocate in a spinlock, which got me.
2005-03-07 23:42:40 +00:00
solomon ba26e61a81 Locking work:
Get rid of irqsave/irqrestore in the ctlx timer functions.

Use del_timer_sync instead of the mess of lock retries; if a timer fires 
off, it'll get the lock, period.  otherwise the irqsave will disable the 
timer from firing off until we give up the lock.
2005-03-07 22:47:48 +00:00
solomon 56353aabc1 a stray debug statement leaked through. Breaks the build on older
compilers.
2005-03-07 22:03:25 +00:00
solomon 6916d401ce Get rid of some very dead code.
Since we don't have to worry about async commands any more, 
we can simplify some of the ctlx crap, I hope.
2005-03-07 21:58:55 +00:00
solomon 582c85ad64 A fix from Chris Rankin:
Eliminates the spinlocks around submit_rx_urb and submit_tx_urb, and 
adds a couple of might_sleep() calls for sanity purposes.
2005-03-06 14:54:10 +00:00
solomon 72cb7796c9 A tweaked patch from Chris Rankin, to not perform GPF_ATIOMIC
allocations when not necessary.
2005-03-03 16:13:33 +00:00
solomon 30ec9125c9 A fix from Tim Huck; return sane error codes and properly
free the skb when we fail on a transmit due to permission
or non-open problems.
2005-03-03 14:10:12 +00:00
solomon e60932ebd8 Convert the rx_urb data to use a skb to avoid the copy-on-rx. 2005-03-03 14:03:51 +00:00
solomon ca635cb3aa New adapter list entry from
Andrzej Turowski <andrzej@turowski_NOSPAM_.com>
2005-03-03 14:03:20 +00:00
solomon a6bd6d5e8f Forgot to patch this in, From Pavel Roskin:
1) The default target is now "all".  It would fail with a help message
if config.out is missing.  Both changes make the build system consistent
with Linux 2.6 behavior.

2) "make config" is on top of the help now.  We want to encourage users
to use interactive config and select the drivers they need.  It's now
described as "interactive configure" in order to distinguish it from
other *config targets.

3) New target "make help_noconfig" that only tells user about "make
*config" and "make help".

4) config.mk won't be built automatically if config.out is missing.
"make auto_config" would still work.

I realize that some users use custom scripts to build the driver, but
they should be OK.  "make all" and "make auto_config" still do what they
used to do.  The patch primarily affects interactive behavior.
2005-02-24 17:59:10 +00:00
solomon ba49dfc881 set MACMODE to none. 2005-02-17 23:18:18 +00:00
solomon bc79d05db1 The latest USB work from Chris Rankin:
This patch contains the following extra features:
- update the error statistics
- more appropriate actions for USB errors, such as
temporarily throttling RX and TX back
- setting the endpoint numbers *before* we register
the WLAN device.
2005-02-14 16:24:57 +00:00
solomon 8320e5c8d0 Another Patch from Pavel Roskin:
It's not working for me.  Even if I only request the PCI driver, no
modules are built at all.  Not that I need 2.2.x support it, I just 
tried to understand how broken it is.

If Linux 2.2.x is to be dropped, then the Configure script should be
changed, and some PCI compatibility code needs to be removed from
src/prism2/driver/prism2sta.c.

Patch for removal Linux 2.2.x support is attached.  Fixing 2.2.x support
would be harder.
2005-02-09 22:09:58 +00:00
solomon 9fde9d480c Pavel Roskin's latest change to the top-level makefile:
The patch does following:

1) The default target is now "all".  It would fail with a help message if
config.out is missing.  Both changes make the build system consistent with
Linux 2.6 behavior.

2) "make config" is on top of the help now.  We want to encourage users to
use interactive config and select the drivers they need.  It's now
described as "interactive configure" in order to distinguish it from other
*config targets.

3) New target "make help_noconfig" that only tells user about "make 
*config" and "make help".

4) config.mk won't be built automatically if config.out is missing.
"make auto_config" would still work.

I realize that some users use custom scripts to build the driver, but 
they should be OK.  "make all" and "make auto_config" still do what they 
used to do.  The patch primarily affects interactive behavior.
2005-02-04 15:28:08 +00:00
solomon 472d052c05 get rid of all instances where alternatives to tasklets were defined,
using tq_immediate.  Since we don't support 2.2 any more, there's no 
point.
2005-02-02 18:24:23 +00:00
solomon 0f7aac4dc9 netif_carrier_on/off where appropriate.
fetch BSSID when we get an AP_CHANGE event.
2005-02-02 16:42:42 +00:00
solomon 7712d2777f dot11CurrentTxPowerLevel is how hooked up in the prism2 driver. oops. 2005-02-01 19:59:37 +00:00
solomon 6281b1d062 Add a default TMPDIR and a config file entry to override it. 2005-02-01 19:11:19 +00:00
solomon 13189733b6 More USB work from Chris Rankin:
Here's yet another patch for the USB adapter. At David
  Brownell's suggestion, we don't put synchronous CTLXs
  on the device's wait-queue, but put a mutex on each CTLX
  instead.

  I've also tidied up a few function prototypes and
  created a new usbctlx_alloc() function.
2005-01-31 20:20:42 +00:00
solomon 9d805ee054 1) REALLY ignore the bad CTLXs
2) re-convert the pending queue into a tasklet.
2005-01-31 14:55:25 +00:00
solomon 47087736fb Removed some 2.2.x compatibility code. 2005-01-28 23:24:27 +00:00
solomon d6df376e0b Conitinued work from Chris Rankin:
- Moving the completion task to a work-queue.
- Make the reaper task an explicit tasklet.
- Make the synchronous and asynchronous 'Read RID'
  completion functions share more code.
2005-01-28 23:20:32 +00:00
solomon 75042061fa make lnxreq_commsquality do the right thing with dbm values -- namely,
use the dbmcommsqual call as necessary.
2005-01-28 23:16:14 +00:00
solomon 667ec3e7d9 A tweak to the configure script from Pavel Roskin. 2005-01-28 23:14:20 +00:00
solomon 1cfb9da69d Further makefile work on the modversions stuff. 2005-01-27 19:14:45 +00:00
solomon 3b3548cab7 Fix the 64-bit fix. Also from Pavel Roskin. 2005-01-27 19:11:58 +00:00
solomon 5ae44e6227 Updates to the new USB code from Chris Rankin 2005-01-26 22:04:10 +00:00
solomon 614fd05f11 Pavel Roskin has made 'config.mk' optional, so you can do things like
'make clean' with impunity.
2005-01-26 22:01:07 +00:00
solomon 560864df8f One of my fixes broke the build. Bad Solomon. 2005-01-26 17:38:27 +00:00
solomon ab581c43f6 a major USB patch from Chris Rankin.
completely re-does the command processing mechanism, simplifies the 
flow, gets rid of numerous races, and generally is "more better" than 
before.
2005-01-26 16:43:58 +00:00
solomon 2127ffac5c Makefile tweaks for 2.6 systems. 2005-01-26 15:44:27 +00:00
solomon 477e5dd327 More fixes for 64-bit targets, courtesy of Pavel Roskin 2005-01-25 22:06:16 +00:00
solomon 392314fecb A patch from pavel roskin that fixes prism2_cs operation on amd64 (and
other 64-bit) targets.
2005-01-25 20:09:06 +00:00
solomon 493e42a4c5 Fix a build problem on 2.4.x kernels. 2005-01-25 15:45:15 +00:00
solomon 7cadc19995 -pre26 2005-01-25 14:45:50 +00:00
solomon 80e51dbc1d Fix the module load buglet in 2.6.10+ 2005-01-25 14:44:25 +00:00
solomon 3537bced36 Missed a line. 2005-01-25 01:43:43 +00:00
solomon ad17de2827 Build system cleanups. I hope it still works on 2.4. :) 2005-01-25 01:41:44 +00:00
solomon b505920508 Fix a typo. Thanks to Chris Rankin. 2005-01-25 01:03:57 +00:00
solomon d733e1e444 Get rid of the .cvsignore entries, and propogate the properties
outwards.
2005-01-25 00:50:21 +00:00
solomon 59cd086763 Clean up a big pile of build warnings, mostly due to format errors. 2005-01-25 00:38:50 +00:00
solomon 91310e850a include siwtxpower, it was disabled for some reason. 2005-01-25 00:36:06 +00:00