linux/drivers/staging/slicoss
Devendra Naga b8131fc0e1 staging: slicoss: fix a null deref when pci_alloc_consistent fail
we are dereferencing the pshmem , and the pci_alloc_consistent can fail
returning null,

do a memcpy if we have a valid pshmem

Signed-off-by: Devendra Naga <devendra.aaru@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-09-05 11:59:51 -07:00
..
Kconfig staging: slicoss depends on NET 2011-11-18 15:00:48 -08:00
Makefile
README staging: clean up Greg's email address in some TODO files 2012-02-15 14:45:40 -08:00
slic.h Staging: slicoss: Remove explicit arch dependencies 2010-08-31 11:52:28 -07:00
slichw.h Staging: slicoss: slichw.h cleanup 2009-04-03 14:53:08 -07:00
slicoss.c staging: slicoss: fix a null deref when pci_alloc_consistent fail 2012-09-05 11:59:51 -07:00

This driver is supposed to support:

	Mojave cards (single port PCI Gigabit) both copper and fiber
	Oasis cards (single and dual port PCI-x Gigabit) copper and fiber
	Kalahari cards (dual and quad port PCI-e Gigabit) copper and fiber

The driver was actually tested on Oasis and Kalahari cards.

TODO:
	- move firmware loading to request_firmware()
	- remove direct memory access of structures
	- any remaining sparse and checkpatch.pl warnings

	- use net_device_ops
	- use dev->stats rather than adapter->stats
	- don't cast netdev_priv it is already void
	- use compare_ether_addr
	- GET RID OF MACROS
	- work on all architectures
	   - without CONFIG_X86_64 confusion
	   - do 64 bit correctly
	   - don't depend on order of union
	- get rid of ASSERT(), use BUG() instead but only where necessary
	  looks like most aren't really useful
	- no new SIOCDEVPRIVATE ioctl allowed
	- don't use module_param for configuring interrupt mitigation
	  use ethtool instead
	- reorder code to elminate use of forward declarations
	- don't keep private linked list of drivers.
	- remove all the gratiutous debug infrastructure
	- use PCI_DEVICE()
	- do ethtool correctly using ethtool_ops
	- NAPI?
	- wasted overhead of extra stats
	- state variables for things that are
	  easily available and shouldn't be kept in card structure, cardnum, ...
	  slotnumber, events, ...
	- get rid of slic_spinlock wrapper
	- volatile == bad design => bad code
	- locking too fine grained, not designed just throw more locks
	  at problem


Please send patches to:
        Greg Kroah-Hartman <gregkh@linuxfoundation.org>
and Cc: Lior Dotan <liodot@gmail.com> and Christopher Harrer
<charrer@alacritech.com> as well as they are also able to test out any
changes.