
		The Prism54 ChangeLog
---------------------------------------------------------------
Note: please specify affected filenames and routines in the 
ChangeLog if changes are not general.
---------------------------------------------------------------
2005-06-28	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	* prismcompat.h: defines for pci_dma_sync_single(), pci_save_state(),
	pci_restore_state()

	* isl_38xx.c: move struct timeval current_time within DEBUGs

	* islpci_eth.c: move char *src within CONFIG_PRISM54_WDS

2005-04-19	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	* prismcompat.h: Patch by Eero Volotinen <eero.volotinen@pronics.com>, 
	deal with 2.4/2.6 compat pci_dma_sync_single(), pci_save_state(), and 
	pci_restore_state(). This fixes compiling for 2.6.

2005-03-11	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	Singed-off-by: Bruno Randolf <bruno.randolf@4g-systems.biz>

	* prismcompat24.h: backport msec_to_jiffies, msleep

2005-03-10	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	Signed-off-by: Bruno Randolf <bruno.randolf@4g-systems.biz>

	* islpci_mgt.c (islpci_mgmt_rx_fill): initialize an uninitialized
	pointer and correct possible zero length on pci_dma_sync_single()

	Detected by:

	Mike Kershaw <dragorn@kismetwireless.net>
	Josh Wright <jwright@hasborg.com>

	* islpci_ethc.c (islpci_eth_transmit): set set frame size to skb->len 
	even if the frame is smaller than ETH_ZLEN. This fixes a vulnerability
	where if skb->len < ETH_ZLEN, up to ETH_ZLEN - skb->len bytes of
	kernel memory were being transmitted. If 802.11 frames really need
	at least a frame size of ETH_ZLEN we can zero pack it.

2005-03-09	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	Signed-off-by: Bell Kin <bell_kin@pek.com.tw>

	* isl_ap.c (create_ap_dev): use alloc_etherdev() over dev_alloc_name and a
	kmalloc on priv struct. Mark etherdev as type ARPHRD_VOID. 
	Move rtnl_lock() after alloc_etherdev() and etherdev type
	declaration.

	* isl_wds.c (add_wds_link): alloc_etherdev() on wds_dev
	over dev_alloc_name and a kmalloc on priv struc

	* isl_wds.c (add_wds_link): remove wds_dev->addr_len = 6,
	set wds_dev->name as brifname

2005-03-08	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	Original patches Signed-off by:

	Tobias Klauser <tklauser@nuerscht.ch>
	Domen Puncer <domen@coderock.org> 
	Nishanth Aravamudan <nacc@us.ibm.com>
	Maximilian Attems <janitor@sternwelten.at>
	Domen Puncer <domen@coderock.org>

	* islpci_dev.c (prism54_bring_down): use msleep(50) instead of 
	set_current_state(TASK_UNINTERRUPTIBLE) and 
	schedule_timeout(50*HZ/1000)

	* islpci_hotplug.c(prism54_probe), prismcompat24.h: use DMA 2.6 
	standard DMA mapping macro, DMA_32BIT_MASK, add compatiblity to 
	prismcompat24.h 

2005-01-27	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
	
	* isl_ioctl.c (prism54_process_trap_helper): use NULL instead
	of 0 for initialization. This fixes a compile error. Patch sent in
	by "Randy.Dunlap" <rddunlap@osdl.org>. This has already been committed 
	to kernel tree.

2004-11-19	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
	
	* cvs2svn: Migrated away from CVS to SVN using cvs2svn

	Patch sent in by: Sergio Ammirata <ammirata@econointl.com>
	
	* islpci_eth.c (islpci_eth_transmit()): gcc 2.95 ifdef incompatibility
	(fixes a compilation error)

	* islpci_mgt.c (islpci_mgt_receive()): fixes problem of firmware 
	from not being loaded

2004-11-08	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	Patch by Joerg Dorchain <joerg@dorchain.net>:

	* isl_wds.c (add_wds_link): use dev_alloc_name() instead
	of deprecated dev_alloc().

2004-11-08	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
	
	* islpci_eth.c: forgot to ifdef on CONFIG_PRISM54_WDS 
	and include isl_wds.h if necessary.

	* islpci_mgt.c: forgot to ifdef on CONFIG_PRISM54_HOSTAPD
	and include isl_ap.h if necessary. 

	Patch by Don Koch <aardvark@krl.com>:

	* islpci_mgt.c (pimfor_decode_header): capture null pointer

	* isl_ap.h (create_ap_dev): use dev_alloc_name() instead of 
	deprecated dev_alloc(). dev_alloc_name is still on both
	2.4 and 2.6 kernels.

2004-11-06	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	* islpci_eth.c, islpci_mgt.c: Fixed small typo to fix compile

2004-11-05	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	Committed/cleaned patch by Bell Kin <bell_kin@pek.com.tw>
	which completes WDS support ands addsd AP WPA support through
	hostapd.

	* isl_ap.[ch]: WPA AP hostapd support

	* isl_wds.c: fixed WDS support

	* isl_ioctl.c, islpci_dev.[ch], islpci_eth.c, 
	islpci_hotplug.c, islpci_mgt.c: Adds completed WDS support

2004-10-17	Margit Schubert-While <margitsw@t-online.de>

	* isl*, prismcompat*
	* Changes from Linus for sparse.
	* Further sparse changes from me.
	* Fix resume

2004-10-02	Margit Schubert-While <margitsw@t-online.de>

	* islpci_mgt.h/islpci_hotplug.c
	* Remove all traces of TRACE :-) This to please the
	* janitors
	*
	* islpci_dev.c/islpci_mgt.c
	* schedule_timeout needs to be rearmed in the loops
	* Make the messages more readable
	*
	* islpci_dev.c
	* Print out the firmware version
	* Return negative EILSEQ
	*
	* isl_ioctl.c/islpci_dev.c/oid_mgt.c/oid_mgt.h
	* Make mgt_commit return a value so we can detect
	* this at initialization

2004-09-05	Margit Schubert-While <margitsw@t-online.de>

	* isl_38xx.c : remove define of __KERNEL_SYSCALLS__

2004-08-23	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	* isl_ioctl.c (prism54_get_freq): reverted change to 
	use frwq->e as 6. This is the mantissa, setting it to 3.
	The other change was correct.

2004-08-22	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	This work fixes wpa_supplicant frequency parsing. iwlist eth0 scan
	will now show channel and frequency.

	* isl_ioctl (prism54_get_freq): use fwrq->e=6 as default

	* isl_ioctl (prism54_translate_bss): no need now of channel_of_freq,
	and use fwrq->e=6 as default

2004-08-18	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>
	
	* isl_ioctl.c (const struct iw_handler_def prism54_handler_def): the
	check should be against if WE == WE16. Confirmed by Jean.

2004-08-18	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	* isl_ioctl.c (prism54_ioctl): Links wpa_supplicant to prism54

2004-08-18	Margit Schubert-While <margitsw@t-online.de>

	* Fix compile errors in isl_ioctl.c

2004-08-18	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	* CVS Tagged WPA-1 ("1" for Work 1, this is *not yet complete*)

	Work based on initial patches from Jouni Malinen <jkmaline@cc.hut.fi>

	Initial wpa_supplicant support work:
	------------------------------------

	* isl_ioctl.c (prism54_process_trap_helper): Start to use mlmeex,
	start doing what's right for
	DOT11_OID_AUTHENTICATEEX,
	DOT11_OID_ASSOCIATEEX,
	DOT11_OID_ASSOCIATEEX, and
	DOT11_OID_REASSOCIATEEX

	* isl_ioctl.c: add temporary structure for wpa_supplicant requests,

	* isl_ioctl.c: add prism2_ioctl_set_encryption which can probably be removed later

	* isl_ioctl.c: add prism2_ioctl_set_generic_element (well tested)
	
	* isl_ioctl.c: add prism2_ioctl_mlme which should be unnecessary since 
	WE scan should be used by wpa_supplicant
	
	* isl_ioctl.c: add prism54_hostapd - this parses wpa_supplicant
	requests and does the right job for each

	* isl_ioctl.c (prism54_set_wpa): changed to not use mgt_set/mgt_commit
	as commit is unecessary. Added proper OID sets to enable/disable WPA.
	This is called by wpa_supplicant at startup. This should eventually
	be part of WE18.

	* isl_ioctl.h: defined prism54_set_wpa to allow prism54_hostapd to use

	* isl_oid.h: add struct obj_attachment for OID OID_TYPE_ATTACH


	* oid_mgt.c: map OID DOT11_OID_ATTACHMENT to struct obj_attachment

	* oid_mgt.c (mgt_le_to_cpu, mgt_cpu_to_le): handle endianness for
	obj_attachment

	* oid_mgt.c: add mgt_set_varlen, needed for mlmeex as it has a
	variable size field.

	* oid_mgt.c: add mgt_unlatch_all, this can be used to force a commit
	on OIDs:
	MEDIUMLIMIT, BEACONPERIOD, DTIMPERIOD, ATIMWINDOW,
	LISTENINTERVAL, FREQUENCY, EXTENDEDRATES
	These OIDs are "latched". TODO: config mode handling.

	* oid_mgt.c (mgt_response_to_str): learn to parse OID_TYPE_ATTACH

	* oid_mgt.h: add mgt_set_varlen, and mgt_unlatch_all


2004-08-18	Luis R. Rodriguez <mcgrof@ruslug.rutgers.edu>

	* CVS Tagged WE17 -- this has been tested

	* isl_ioctl.c (prism54_mib_init): remove module_param usage and 
	dependency as its unnecessary

	Patches by Jean Tourrilhes <jt@bougret.hpl.hp.com>:

	* isl_ioctl.c, islpci_dev.[ch]: Add support for Wireless Extension 17

	* isl_ioctl.c (const struct iw_handler_def prism54_handler_def): Add .spy_offset 
	only if WE == 15 only check as this is being deprecated. 


2004-08-16	Margit Schubert-While <margitsw@t-online.de>

	* Remove superfluous/duplicated printk's.
	* For the success case, produce user readable messages.

2004-08-14	Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua>

	* Move assignment out of if()
	* Remove trailing space from printk
	* Eliminate not needed local 'u32 reg'
	* Add a comment about undoc bits
	* Add #define VEC_SIZE, use it as appropriate
	* Add some printks to reset error code path (our current area of trouble)
	* Make printk text less confusing
	* Some not needed NULL assignments removed
	* mgt_commit_list(): tell which oid has failed

2004-08-11	Margit Schubert-While <margitsw@t-online.de>

	* prism54_get_freq is incorrectly returning channel
	* and not frequency. Wireless tools detect this, but
	* other programs do not, leading to insane reported
	* values. (As Jean documents, drivers should really be
	* reporting the frequency).

2004-08-10	Margit Schubert-While <margitsw@t-online.de>

	* Correct the reporting of supported bit rates
	* (iwlist ethX rate)

2004-08-06	Margit Schubert-While <margitsw@t-online.de>

	* With module versioning in 2.6, make clean is not
	* removing everything it should. Fix.
	*
	* Change the "version" OID to what it should be.
	*
	* Fix memory leaks - mgt_get_request always returns
	* allocated memory for non-int OIDS (with an exception -
	* keep reading). If the caller checks the return and itself
	* returns, then it must free memory.
	* However, it is possible to return from mgt_get_request
	* early (!priv->mib). In this case, weird things can happen
	* in isl_ioctl. Quick fix, at least to force an oops, is
	* to set the union value to NULL. The real fix is to
	* recode all mgt_get_request calls in isl_ioctl.

2004-07-30	Margit Schubert-While <margitsw@t-online.de>

	* Fix IRQ handling
	* We were returning HANDLED when the IRQ was not for us

2004-07-27	Margit Schubert-While <margitsw@t-online.de>

	* Remove bloated device id table entries
	* The only things we should be interested in are :
	* 1260 - 3877/3886/3890 and the 3COM 10b7/6001 :-(
	* All info can be obtained with an updated pci.ids :-)
	* (user space is normally /usr/share/pci.ids)
	* eg. http://prism54.org/pub/linux/testing/pci.ids

2004-07-27	Margit Schubert-While <margitsw@t-online.de>

	* As part of the ongoing 0 versus NULL kernel cleanup,
	* Al Viro submitted changes to prism54 (Eeek).
	* Bring CVS into sync.

2004-07-26	Margit Schubert-While <margitsw@t-online.de>

	* Use of uninitialized pointer in isl_ioctl.c
	* debug_set/get_oid uses response without testing validity

2004-07-22	Margit Schubert-While <margitsw@t-online.de>

	* With firmware < 1.0.4.3, trying to initialize
	* OID_INL_OUTPUTPOWER returns an error. This leads
	* to a confusing "mgt_commit has failed .." in the log.
	* Take it out of the part2 commit list.

2004-07-21	Margit Schubert-While <margitsw@t-online.de>

	* Fix 2.4.27 build (netdev_priv got introduced)
	* Make TRDY/RETRY configurable with default 0
	* Introduce module parameter init_pcitm

2004-07-15	Margit Schubert-While <margitsw@t-online.de>

	* Fix reference to unitialized pointer

2004-07-12	Margit Schubert-While <margitsw@t-online.de>

	* BSSID incorrectly typed as SSID, should be RAW

2004-07-06	Margit Schubert-While <margitsw@t-online.de>

	* Correct frequency to channel for 5GHz band

2004-07-01	Margit Schubert-While <margitsw@t-online.de>

	* Changes as forwarded/accepted by Jeff Garzik (netdev)
	* for inclusion in 2.6.7-bkxx
	* Clean up function definitions
	* Missing error check after dev_alloc_skb
	* Change unlikely -> likely - thinko by me
	* Clean up the device table
	* Do not poke the PCI programmable timers
	* Use set_pci_mwi() to set cache line if necessary

