Ian Abbott [Tue, 6 May 2014 12:12:04 +0000 (13:12 +0100)]
staging: comedi: pass subdevice to comedi_buf_write_alloc()
Change the parameters of `comedi_buf_write_alloc()` to pass a pointer to
the comedi subdevice instead of a pointer to the "async" structure
belonging to the subdevice.
The main aim at the moment is to replace all the `struct comedi_async *`
parameters with `struct comedi_subdevice *` parameters in the comedi
driver API.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Tue, 6 May 2014 12:12:03 +0000 (13:12 +0100)]
staging: comedi: ni_tiocmd: pass subdevice to command setup functions
The `ni_tio_input_cmd()`, `ni_tio_output_cmd()` and `ni_tio_cmd_setup()`
functions are called from `ni_tio_cmd()` to set up a comedi command.
They currently get passed two parameters, a pointer to a `struct
ni_gpct` and a pointer to a `struct comedi_async`, but both of those
come from members of a `struct comedi_subdevice` (the former from the
`private` member). Replace the parameters with a pointer to the `struct
comedi_subdevice`.
The main motive is to make the comedi subdevice more easily available to
the functions for the use of subsequent patches to remove the `struct
comedi_async *` parameters from the comedi buffer handling functions.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Tue, 6 May 2014 12:12:02 +0000 (13:12 +0100)]
staging: comedi: pass subdevice to comedi_buf_memcpy_from()
Change the parameters of `comedi_buf_memcpy_from()` to pass a pointer to
the comedi subdevice instead of a pointer to the "async" structure
belonging to the subdevice.
The main aim at the moment is to replace all the `struct comedi_async *`
parameters with `struct comedi_subdevice *` parameters in the comedi
driver API.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Tue, 6 May 2014 12:12:01 +0000 (13:12 +0100)]
staging: comedi: pass subdevice to comedi_buf_memcpy_to()
Change the parameters of `comedi_buf_memcpy_to()` to pass a pointer to
the comedi subdevice instead of a pointer to the "async" structure
belonging to the subdevice.
The main aim at the moment is to replace all the `struct comedi_async *`
parameters with `struct comedi_subdevice *` parameters in the comedi
driver API.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Tue, 6 May 2014 12:12:00 +0000 (13:12 +0100)]
staging: comedi: pass subdevice to comedi_buf_get()
Change the parameters of `comedi_buf_get()` to pass a pointer to the
comedi subdevice instead of a pointer to the "async" structure belonging
to the subdevice.
The function gets a sample value from the comedi buffer, but currently
only deals with 16-bit sample types. A future version could deal with
16 or 32-bit sample types depending on the value of the SDF_LSAMPL
subdevice flag.
The main aim at the moment is to replace all the `struct comedi_async *`
parameters with `struct comedi_subdevice *` parameters in the comedi
driver API.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ian Abbott [Tue, 6 May 2014 12:11:59 +0000 (13:11 +0100)]
staging: comedi: pass subdevice to comedi_buf_put()
Change the parameters of `comedi_buf_put()` to pass a pointer to the
comedi subdevice instead of a pointer to the "async" structure belonging
to the subdevice.
The function puts a sample value in the comedi buffer, but currently
only deals with 16-bit sample types. A future version could deal with
16 or 32-bit sample types depending on the value of the SDF_LSAMPL
subdevice flag.
The main aim at the moment is to replace all the `struct comedi_async *`
parameters with `struct comedi_subdevice *` parameters in the comedi
driver API.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Tue, 6 May 2014 23:08:56 +0000 (16:08 -0700)]
staging: comedi: pcl730: add support for Diamond Systems PC/104 modules
The Diamond Systems OPMM-1616-XT board is a PC/104 module with 16
optoisolated inputs and 16 relay outputs.
The PEARL-MM-P board is a PC/104 module with 16 relay outputs.
Both of these boards can be supported by the pcl730 driver.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Tue, 6 May 2014 19:26:04 +0000 (12:26 -0700)]
staging: comedi: amplc_pci224: use comedi_fc helpers to validate timer args
Use the comedi_fc helper cfc_check_trigger_arg_is() to validate the
scan_begin_arg when the scan_begin_src is TRIG_TIMER.
For aesthetics reasons, rename the local variable 'tmp' to 'arg'.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Tue, 6 May 2014 17:55:23 +0000 (10:55 -0700)]
staging: comedi: amplc_dio200_common: remove 'continuous' from subdevice private data
This member of the subdevice private data can be determined from the
cmd->stop_src. Do that instead.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:48:19 +0000 (09:48 -0700)]
staging: comedi: adl_pc19111: remove 'chanlist_len' from private data
This member of the private data is a copy of the cmd->chanlist_len. Use
that instead.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:48:18 +0000 (09:48 -0700)]
staging: comedi: adl_pc19111: rename 'async_cmd' variable in (*do_cmd)
The comedi_cmd pointer is typically just called 'cmd'. Rename the local
variable in pci9111_ai_do_cmd().
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:48:17 +0000 (09:48 -0700)]
staging: comedi: adl_pc19111: remove 'stop_is_none' from private data
This member of the private data can be determined by checking the
cmd->stop_src. Do that instead.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:48 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'dmabuf_samples' from private data
This member of the private data is set but never used. Remove it.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:47 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'cnt0_divisor' from private data
This member of the private data is not used. Remove it.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:46 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: tidy up start_pacer()
For aesthetics, rename this function so it has namespace associated
with the driver.
The divisors used to load the counters are stored in the private data.
Get them from there and remove the parameters.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:45 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: tidy up interrupt_pci9118()
For aesthetics, rename this function so it has namespace associated
with the driver.
Refactor the function to reduce the indent level and tidy up the code.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:44 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'int_ai_func' from private data
The devpriv->usedma flag can be checked to determine which handler
function should be used to transfer the analog input data. Do that
instead and remove the member from the private data.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:43 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'ai16bits' from private data
This member of the private data is only set when the analog input
subdevice maxdata is 0xffff. Just check the s->maxdata and remove
the private data member.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:42 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'useeoshandle' from private data
This member of the private data is always set to 0. Remove it and the
affected code.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:41 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'cnt0_users' from private data
This member of the private data is set to 0 but never used. Remove it.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:40 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'valid' from private data
This member of the private data is set only used during the (*detach)
to check if the board can be reset. The pci9118_reset() function just
needs a valid dev->iobase. Use that instead.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:39 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'ai_buf_ptr' from private data
This member of the private data is set to 0 but never used. Remove it.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:38 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: cmd->stop_src == TRIG_INT is not supported
The (*do_cmdtest) only allows TRIG_COUNT, TRIG_NONE, or TRIG_EXT as the
cmd->stop_src. Remove the disabled code.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:37 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'usessh' from private data
This member of the private data is only set when the cmd->convert_src
is TRIG_NOW. Use that instead.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:36 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'ai_scans' from private data
This member of the private data is just a copy of the cmd->stop_arg.
Use that instead.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:35 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'i8254_osc_base' from private data
This member of the private data is always set to I8254_OSC_BASE_4MHZ.
Use that instead.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:34 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'ai_n_scanlen' from private data
This member of the private data is just a copy of the cmd->scan_end_arg.
Use that instead.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:33 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'ai_timer2' from private data
This member of the private data is set but never used. Remove it.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:32 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'ai_timer1' from private data
This member of the private data is set but never used. Remove it.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:31 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'ai_data_len' from private data
This member of the private data is just a copy of the s->async->prealloc_bufsz.
Use that instead.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:30 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'ai_chanlist' from private data
This member of the private data is just a copy of the cmd->chanlist.
Use that instead.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
H Hartley Sweeten [Mon, 5 May 2014 16:35:29 +0000 (09:35 -0700)]
staging: comedi: adl_pci9118: remove 'ai_n_chan' from private data
This member of the private data is just a copy of the cmd->chanlist_len.
Use that instead.
Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chase Southwood [Sat, 3 May 2014 07:57:41 +0000 (02:57 -0500)]
staging: comedi: addi_apci_1564: call apci1564_interrupt() directly
Remove the boardinfo about the interrupt function and just call it
directly.
Signed-off-by: Chase Southwood <chase.southwood@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chase Southwood [Sat, 3 May 2014 07:57:01 +0000 (02:57 -0500)]
staging: comedi: addi_apci_1564: absorb apci1564_reset()
This is the only reset fuction used by this driver. We can remove it from
the boardinfo and absorb the code from hwdrv_apci1564.c into the driver.
Signed-off-by: Chase Southwood <chase.southwood@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chase Southwood [Sat, 3 May 2014 07:56:27 +0000 (02:56 -0500)]
staging: comedi: addi_apci_1564: don't allocate unused subdevices
The addi-data common code always allocates 7 subdevices. This driver
cannot or will not use the ones we are currently allocating for analog
input and output or EEPROM, so just don't allocate these subdevices at
all.
Signed-off-by: Chase Southwood <chase.southwood@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Chase Southwood [Sat, 3 May 2014 07:55:29 +0000 (02:55 -0500)]
staging: comedi: addi_apci_1564: board has 32 digital outputs
This board always has 32 digital outputs. Remove the test when
initializing the subdevice.
Also, since this board is the only one supported by this driver, remove
the boardinfo about the digital outputs and just use the data directly in
the subdevice init.
Signed-off-by: Chase Southwood <chase.southwood@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Michele CURTI [Sat, 3 May 2014 12:36:52 +0000 (14:36 +0200)]
staging/winbond: fix a style error
Removed a few spaces to fix style errors
Signed-off-by: Michele Curti <michele.curti@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Martin Kepplinger [Mon, 19 May 2014 10:55:11 +0000 (12:55 +0200)]
staging: winbond: use dev_err() instead of printk()
For obvious error messages, use dev_err() in order to provide userspace
with more useful information and use the common kernel coding style.
Signed-off-by: Martin Kepplinger <martink@posteo.de>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Peter Senna Tschudin [Tue, 20 May 2014 10:33:47 +0000 (12:33 +0200)]
staging: ozwpan: Remove useless return variables
This patch remove variables that are initialized with a constant,
are never updated, and are only used as parameter of return.
Return the constant instead of using a variable.
Verified by compilation only.
The coccinelle script that find and fixes this issue is:
// <smpl>
@@
type T;
constant C;
identifier ret;
@@
- T ret = C;
... when != ret
- return ret;
+ return C;
// </smpl>
Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
James A Shackleford [Wed, 21 May 2014 18:50:26 +0000 (14:50 -0400)]
staging: ozwpan: Add missing blanklines after declarations
Signed-off-by: James A Shackleford <shack@linux.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Rupesh Gujare [Mon, 19 May 2014 14:17:30 +0000 (15:17 +0100)]
staging: ozwpan: Change Maintainer
I will be not able to work on ozwpan driver anymore.
Remove my name & add Tateno as maintainer.
Signed-off-by: Rupesh Gujare <rupesh.gujare@atmel.com>
Acked-by: Shigekatsu Tateno <shigekatsu.tateno@atmel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Anil Belur [Mon, 19 May 2014 09:42:48 +0000 (19:42 +1000)]
staging: ozwpan: ozproto.c fix for "WARNING: Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2)"
Fixed the warning message by replacing memcpy() with ether_addr_copy()
Signed-off-by: Anil Belur <askb23@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Daeseok Youn [Fri, 16 May 2014 09:29:44 +0000 (18:29 +0900)]
staging: ozwpan: remove redundant NULL check for devs
The "devs" is a pointer to g_net_dev in ozmain.c.
g_net_dev has a default value as empty string.
So "devs" cannot be NULL, removes NULL check for "devs".
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Manuel Schölling [Wed, 21 May 2014 17:16:36 +0000 (19:16 +0200)]
staging: lustre: Use time_before()
To be future-proof and for better readability the time comparisons are modified
to use time_before() instead of plain, error-prone math.
Signed-off-by: Manuel Schölling <manuel.schoelling@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Rickard Strandqvist [Mon, 19 May 2014 21:42:08 +0000 (23:42 +0200)]
staging: lustre: lustre: ptlrpc: sec_config.c: Fix for possible null pointer dereference
There is otherwise a risk of a possible null pointer dereference.
Was largely found by using a static code analysis program called cppcheck.
Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Rickard Strandqvist [Mon, 19 May 2014 21:40:35 +0000 (23:40 +0200)]
staging: lustre: lustre: lov: lov_obd.c: Fix for possible null pointer dereference
There is otherwise a risk of a possible null pointer dereference.
Was largely found by using a static code analysis program called cppcheck.
Signed-off-by: Rickard Strandqvist <rickard_strandqvist@spectrumdigital.se>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Andreas Platschek [Mon, 19 May 2014 13:37:25 +0000 (13:37 +0000)]
staging: lustre: check length of char array
This fixes the following sparse error:
drivers/staging/lustre/lustre/obdclass/llog_ioctl.c:388:39: error: incompatible types for operation (>)
drivers/staging/lustre/lustre/obdclass/llog_ioctl.c:388:39: left side has type char *ioc_inlbuf2
drivers/staging/lustre/lustre/obdclass/llog_ioctl.c:388:39: right side has type int
Signed-off-by: Andreas Platschek <platschek@ict.tuwien.ac.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Masaru Nomura [Thu, 15 May 2014 17:54:05 +0000 (18:54 +0100)]
staging: lustre: socklnd: Remove unnecessary return brackets
Remove unnecessary brackets from return statements in socklnd.c,
socklnd.h, socklnd_cb.c and socklnd_lib-linux.c to meet
kernel coding style.
Signed-off-by: Masaru Nomura <massa.nomura@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Masaru Nomura [Thu, 15 May 2014 15:23:56 +0000 (16:23 +0100)]
staging: lustre: socklnd: Remove unnecessary line continuation
Remove unnecessary line continuation '\' in socklnd.c to meet
kernel coding style.
Signed-off-by: Masaru Nomura <massa.nomura@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Masaru Nomura [Thu, 15 May 2014 00:03:42 +0000 (01:03 +0100)]
staging: lustre: socklnd: Fix indenting
Fixed indenting of if statement in socklnd.c to meet kernel coding style.
Signed-off-by: Masaru Nomura <massa.nomura@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Masaru Nomura [Wed, 14 May 2014 23:53:38 +0000 (00:53 +0100)]
staging: lustre: socklnd: Add a required space
Added a required space before open brace and parenthsis
in socklnd.c to meet kernel coding style.
Signed-off-by: Masaru Nomura <massa.nomura@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Masaru Nomura [Wed, 14 May 2014 21:33:37 +0000 (22:33 +0100)]
staging: lustre: socklnd: Remove unnecessary () from return statement
Remove unnecessary brackets from return statements in socklnd.c
to meet kernel coding style.
Signed-off-by: Masaru Nomura <massa.nomura@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Zi Shen Lim [Mon, 12 May 2014 03:37:23 +0000 (20:37 -0700)]
staging/lustre: fix sparse warnings in o2iblnd_cb.c
This patch fixes the following sparse warnings:
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:44:1: warning: symbol 'kiblnd_tx_done' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:102:10: warning: symbol 'kiblnd_get_idle_tx' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:131:1: warning: symbol 'kiblnd_drop_rx' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:212:10: warning: symbol 'kiblnd_find_waiting_tx_locked' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:238:1: warning: symbol 'kiblnd_handle_completion' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:277:1: warning: symbol 'kiblnd_send_completion' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:296:1: warning: symbol 'kiblnd_handle_rx' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:457:1: warning: symbol 'kiblnd_rx_complete' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:527:13: warning: symbol 'kiblnd_kvaddr_to_page' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:699:1: warning: symbol 'kiblnd_setup_rd_iov' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:752:1: warning: symbol 'kiblnd_setup_rd_kiov' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:792:1: warning: symbol 'kiblnd_post_tx_locked' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:996:1: warning: symbol 'kiblnd_tx_complete' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:1270:1: warning: symbol 'kiblnd_connect_peer' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:1627:1: warning: symbol 'kiblnd_reply' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:1814:1: warning: symbol 'kiblnd_thread_fini' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:1828:1: warning: symbol 'kiblnd_peer_notify' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:1934:1: warning: symbol 'kiblnd_handle_early_rxs' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:1957:1: warning: symbol 'kiblnd_abort_txs' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:1993:1: warning: symbol 'kiblnd_finalise_conn' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:2167:1: warning: symbol 'kiblnd_reject' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:2178:1: warning: symbol 'kiblnd_passive_connect' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:2452:1: warning: symbol 'kiblnd_reconnect' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:2516:1: warning: symbol 'kiblnd_rejected' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:2655:1: warning: symbol 'kiblnd_check_connreply' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:2754:1: warning: symbol 'kiblnd_active_connect' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:3025:1: warning: symbol 'kiblnd_check_conns' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:3108:1: warning: symbol 'kiblnd_disconnect_conn' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:3247:1: warning: symbol 'kiblnd_complete' was not declared. Should it be static?
drivers/staging/lustre/lnet/klnds/o2iblnd/o2iblnd_cb.c:904:20: warning: context imbalance in 'kiblnd_post_tx_locked' - unexpected unlock
Signed-off-by: Zi Shen Lim <zlim.lnx@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Brilliantov Kirill Vladimirovich [Fri, 9 May 2014 10:49:24 +0000 (14:49 +0400)]
staging/lustre: fix sparse warning: Using plain integer as NULL pointer
Signed-off-by: Brilliantov Kirill Vladimirovich <brilliantov@inbox.ru>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Toby Smith [Wed, 7 May 2014 06:21:21 +0000 (16:21 +1000)]
staging: lustre: fix sparse warning "should it be static"
Fix the following warning in lib-eq.c
warning: symbol 'lnet_eq_dequeue_event' was not declared. Should it be static?
Signed-off-by: Toby Smith <toby@tismith.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Toby Smith [Wed, 7 May 2014 06:21:22 +0000 (16:21 +1000)]
staging: lustre: fix sparse warning "unexpected unlock"
Fix the following warning in lib-eq.c
warning: context imbalance in 'lnet_eq_wait_locked' - unexpected unlock
Signed-off-by: Toby Smith <toby@tismith.id.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Peng Tao [Sun, 4 May 2014 07:45:50 +0000 (15:45 +0800)]
staging/lustre: remove Peng Tao from Lustre contact list
I am leaving emc for a new company where I cannot have much
time working on Lustre. So remove myself from the contact
list. I will still be around and continue to contribute as a
hobbyist though.
Cc: Andreas Dilger <andreas.dilger@intel.com>
Cc: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Peng Tao <bergwolf@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg DeAngelis [Fri, 2 May 2014 20:40:30 +0000 (16:40 -0400)]
staging: bcm: fix lines over 80 characters
Signed-off-by: Greg DeAngelis <gdeangel@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Matthias Beyer [Thu, 22 May 2014 10:17:28 +0000 (12:17 +0200)]
Staging: bcm: Indentation fixes in Bcmchar.c
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Matthias Beyer [Thu, 22 May 2014 10:17:27 +0000 (12:17 +0200)]
Staging: bcm: Outsourced IsFlash2x() handling
This patch outsources the code from the IsFlash2x() check in
bcm_char_ioctl_nvm_rw() function to shorten it.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Matthias Beyer [Thu, 22 May 2014 10:17:26 +0000 (12:17 +0200)]
Staging: bcm: Outsourced cmd handling to function
This patch outsourced the true-branch for the IOCTL_BCM_NVM_READ command
handling to shorten the bcm_char_ioctl_nvm_rw() function.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Matthias Beyer [Thu, 22 May 2014 10:17:25 +0000 (12:17 +0200)]
Staging: bcm: Fixed line lengths
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Daeseok Youn [Wed, 7 May 2014 06:01:04 +0000 (15:01 +0900)]
staging: bcm: use kzalloc instead of kmalloc/memset
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Engelmayer [Wed, 7 May 2014 19:44:53 +0000 (21:44 +0200)]
staging: binder: fix usage of uninit scalar in binder_transaction()
Fix the error path when a cookie mismatch is detected. In that case the
function jumps to the exit label without setting the uninitialized, local
variable 'return_error'. Detected by Coverity - CID 201453.
Signed-off-by: Christian Engelmayer <cengelma@gmx.at>
Acked-by: Arve <arve@android.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jerry Snitselaar [Thu, 1 May 2014 06:58:55 +0000 (23:58 -0700)]
staging: binder: cleanup dereference of noderef expressions
Clean up sparse warnings for cred struct dereference.
Signed-off-by: Jerry Snitselaar <dev@snitselaar.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Greg Kroah-Hartman [Fri, 23 May 2014 11:46:41 +0000 (20:46 +0900)]
staging: remove rts5139 driver code
Roger writes:
Since all patches have been applied and the device is now
supported by the new driver, would you remove the former staging
one at drivers/staging/rts5139?
Cc: Roger Tseng <rogerable@realtek.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Fabio Estevam [Mon, 28 Apr 2014 11:01:07 +0000 (08:01 -0300)]
imx-hdmi: Make checkpatch happy
WARNING: Missing a blank line after declarations
#160: FILE: drivers/staging/imx-drm/imx-hdmi.c:160:
+ u8 val = hdmi_readb(hdmi, reg) & ~mask;
+ val |= data & mask;
WARNING: Missing a blank line after declarations
#1609: FILE: drivers/staging/imx-drm/imx-hdmi.c:1609:
+ const struct platform_device_id *device_id = of_id->data;
+ hdmi->dev_type = device_id->driver_data;
total: 0 errors, 2 warnings, 1767 lines checked
drivers/staging/imx-drm/imx-hdmi.c has style problems, please review.
If any of these errors are false positives, please report
them to the maintainer, see CHECKPATCH in MAINTAINERS.
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Daniele Forsi [Sun, 27 Apr 2014 12:34:48 +0000 (14:34 +0200)]
staging: et131x: Remove empty file Module.symvers
It was added by commit
e0349d5ba (staging: et131x: Remove unused rcv_pend_lock spinlock)
Signed-off-by: Daniele Forsi <dforsi@gmail.com>
Acked-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Maarten de Jonge [Sun, 4 May 2014 17:26:51 +0000 (19:26 +0200)]
staging: et131x: add blank lines after declarations
Signed-off-by: Maarten de Jonge <mdejonge1990@gmail.com>
Acked-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Peter Senna Tschudin [Tue, 20 May 2014 10:33:45 +0000 (12:33 +0200)]
staging: et131x: Remove useless return variables
This patch remove variables that are initialized with a constant,
are never updated, and are only used as parameter of return.
Return the constant instead of using a variable.
Verified by compilation only.
The coccinelle script that find and fixes this issue is:
// <smpl>
@@
type T;
constant C;
identifier ret;
@@
- T ret = C;
... when != ret
- return ret;
+ return C;
// </smpl>
Signed-off-by: Peter Senna Tschudin <peter.senna@gmail.com>
Acked-by: Mark Einon <mark.einon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Engelmayer [Wed, 7 May 2014 19:26:43 +0000 (21:26 +0200)]
staging: silicom: Remove unused pointer in bypass_init_module()
Pointer 'pbpctl_dev_c' in function bypass_init_module() is unused. Thus remove
it. With the last variable declaration gone, there is no more need for an own
block. Remove it and adapt the indenting accordingly.
Signed-off-by: Christian Engelmayer <cengelma@gmx.at>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christian Engelmayer [Wed, 7 May 2014 19:24:00 +0000 (21:24 +0200)]
staging: silicom: Remove needless calls of get_status_port_fn()
Remove a needless pointer initialisation and call to get_status_port_fn()
in functions remove_bypass_tpl_auto() and set_tpl_fn(). Variable
'pbpctl_dev_b' is set correctly later in the function before first use.
Signed-off-by: Christian Engelmayer <cengelma@gmx.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Fernando Apesteguia [Wed, 7 May 2014 16:02:44 +0000 (18:02 +0200)]
staging: silicom: add blank line after declarations
Add blank line after declarations and delete extra blank line at the
beginning of the function
Signed-off-by: Fernando Apesteguia <fernando.apesteguia@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Daeseok Youn [Fri, 9 May 2014 10:10:07 +0000 (19:10 +0900)]
staging: cxt1e1: remove set a value to static variable
cleanup checkpatch.pl error:
ERROR: do not initialise statics to 0 or NULL
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Daeseok Youn [Fri, 9 May 2014 10:09:35 +0000 (19:09 +0900)]
staging: cxt1e1: Fix line length over 80 characters in musycc.c
clean up checkpatch.pl warning:
WARNING: Line length over 80 characters
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Daeseok Youn [Fri, 9 May 2014 10:08:59 +0000 (19:08 +0900)]
staging: cxt1e1: remove redundant curly braces in musycc.c
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Daeseok Youn [Fri, 9 May 2014 14:54:08 +0000 (23:54 +0900)]
staging: cxt1e1: remove dead code in musycc.c
Removes "#if 0" blocks.
And the musycc_dump_rxbuffer_ring(ch, 0) which is commented
out puts in RLD_DEBUG block and uncommented.
Because this function may be used for debugging.
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Daeseok Youn [Fri, 9 May 2014 10:02:20 +0000 (19:02 +0900)]
staging: cxt1e1: Fix no spaces at the start of a line in musycc.c
clean up checkpatch.pl warning:
WARNING: please no spaces at the start of a line in
Signed-off-by: Daeseok Youn <daeseok.youn@gmail.com>
Reviewed-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dominique van den Broeck [Wed, 21 May 2014 12:10:00 +0000 (14:10 +0200)]
staging: panel: (coding style) Line alignments and malloc sizeof
Style-only modifications to comply with checkpatch.pl --strict --file.
. Correctly realigns the lines that needed to be ;
. Suppress useless blank rows ;
. Fix sizeof() issues in various -malloc() functions.
Signed-off-by: Dominique van den Broeck <domdevlin@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dominique van den Broeck [Wed, 21 May 2014 12:09:59 +0000 (14:09 +0200)]
staging: panel: (coding style) Matching braces
Style-only modifications to comply with checkpatch.pl --strict --file.
. Adds every missing brace in condition statements.
Signed-off-by: Dominique van den Broeck <domdevlin@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bastien Armand [Wed, 23 Apr 2014 17:42:11 +0000 (19:42 +0200)]
staging: panel: fix regression in lcd_write
This patch fix a regression in lcd_write caused by commit
70a8c3eb8546cefe40fb0bc7991e8899b7b91075
Signed-off-by: Bastien Armand <armand.bastien@laposte.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Rusty Russell [Thu, 24 Apr 2014 04:27:49 +0000 (13:57 +0930)]
drivers/staging/speakup/: avoid world-writable sysfs files.
In line with practice for module parameters, we're adding a build-time
check that sysfs files aren't world-writable.
Cc: Christopher Brannon <chris@the-brannons.com>
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dominique van den Broeck [Sun, 4 May 2014 14:46:27 +0000 (16:46 +0200)]
staging/rtl8192e: userspace ptr deref + incorrect declarations
. userspace pointer dereference ;
These issues have been fixed by a concurrent patch:
. missing inclusions of needed header files (fixed by concurrent patch);
. unrequired static function declaration (confusing another *.c file).
Signed-off-by: Dominique van den Broeck <domdevlin@free.fr>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Kim Nylund [Thu, 1 May 2014 15:24:09 +0000 (10:24 -0500)]
staging: r8188eu: Add support for Dlink DWA-121 802.11n Wireless N 150 Pico Adapter
This is a new device supported by this driver.
Signed-off-by: Kim Nylund <kim@pratsam.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Thu, 17 Apr 2014 15:35:22 +0000 (10:35 -0500)]
staging: r8188eu: Fix some sparse warnings
In a patch entitles "staging: r8188eu: Fix case where ethtype was never obtained
and always be checked against 0" (commit ID unknown), I introduce an endian error.
This patch fixes that, and removes two additional sparse warnings.
drivers/staging/rtl8188eu/core/rtw_recv.c:653:6: warning: symbol 'process_pwrbit_data' was not declared. Should it be static?
drivers/staging/rtl8188eu/core/rtw_recv.c:1828:5: warning: symbol 'enqueue_reorder_recvframe' was not declared. Should it be static?
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ken Cox [Thu, 22 May 2014 17:31:14 +0000 (12:31 -0500)]
Staging: unisys: visorchipset: Remove filexfer.c
There is not any code using the functionality in filexfer.c so I removed it
and filexfer.h.
Signed-off-by: Ken Cox <jkc@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ken Cox [Thu, 22 May 2014 17:31:13 +0000 (12:31 -0500)]
Staging: unisys: Fixup sparse warnings for dereferencing noderef types.
Fixed the usage of the following so they don't try to dereference
pointers to iomem.
CHANNEL_U64_MISMATCH
CHANNEL_U32_MISMATCH
wait_for_valid_guid
Signed-off-by: Ken Cox <jkc@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ken Cox [Thu, 22 May 2014 17:31:12 +0000 (12:31 -0500)]
Staging: unisys: Remove unused macros from visorchannel/visorchannel.h
VISORCHANNEL_CHANGE_SERVER_STATE and VISORCHANNEL_CHANGE_CLIENT_STATE
are never used in any of the source so they have been removed.
VISORCHANNEL_CHANGE_CLIENT_STATE would have caused a broken kernel build
after commit
a8d7f21d, but since it was never used the kernel continued
to build.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Ken Cox <jkc@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ken Cox [Thu, 22 May 2014 17:31:11 +0000 (12:31 -0500)]
Staging: unisys: virthba: declare virthba_queue_command as static
virthba_queue_command() is only used inside virthba.c so declare it static.
Signed-off-by: Ken Cox <jkc@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ken Cox [Thu, 22 May 2014 17:31:09 +0000 (12:31 -0500)]
Staging: unisys: Fix sparse warnings
Fix sparse warnings caused by incorrect references to IO space.
Signed-off-by: Ken Cox <jkc@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Matlack [Fri, 23 May 2014 04:38:45 +0000 (21:38 -0700)]
staging: slicoss: handle errors from slic_config_get
slic_config_get() can fail. Change the return type from void to
int and handle the error in slic_card_init(). So now, instead of
silently failing (and then timing out waiting for the config data),
the driver will fail loudly at request time.
Signed-off-by: David Matlack <matlackdavid@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Matlack [Tue, 20 May 2014 05:04:00 +0000 (22:04 -0700)]
staging: slicoss: fail on corrupt eeprom
Remove fail_on_bad_eeprom, which was always 0 and thus being used
to ignore incorrect checksumming. This means devices with corrupt
eeprom will now cause the driver to fail.
Since fail_on_bad_eeprom was the last member in use of struct
slic_reg_params, remove that struct altogether.
Signed-off-by: David Matlack <matlackdavid@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Matlack [Tue, 20 May 2014 05:03:59 +0000 (22:03 -0700)]
staging: slicoss: fix eeprom checksum code
Rewrite slic_eeprom_cksum() to fix bugs and make readable. This patch
technically has no effect on the user as failed eeprom checksums are
ignored anyway.
The original implementation had the following issues:
1. 2 of the 3 unrolled loops had the following bug:
while ((len -= 32) >= 0) {
[...]
sum += w[15];
w = (u16 *)((ulong) w + 16); /* verify */
}
This processes 32-bytes of data but only increments the word
pointer by 16 bytes. Fixing both of these bugs seems to fix
slic_eeprom_cksum().
2. Non-descriptive variable names, use of unions, and macros that
change local state make the code difficult to read.
3. The checksum loop is unrolled which makes the code harder to
reason about while providing small performance improvement:
- max eeprom length is 0x80 bytes (MAX_EECODE_SIZE), that's
only 0x40 iterations
- checksum is only computed during pci probe(), so not very
often
Tested on Mojave card
Signed-off-by: David Matlack <matlackdavid@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Matlack [Tue, 6 May 2014 04:02:37 +0000 (21:02 -0700)]
staging: slicoss: fix use-after-free bug in slic_entry_remove
This patch fixes a use-after-free bug that causes a null pointer
dereference in slic_entry_halt.
Since unregister_netdev() will ultimately call slic_entry_halt (the
net_device ndo_stop() virtual function for this device), we should
call it before freeing the memory used by slic_entry_halt.
Signed-off-by: David Matlack <dmatlack@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Matlack [Tue, 6 May 2014 04:02:36 +0000 (21:02 -0700)]
staging: slicoss: fix 64-bit isr address bug
This patch fixes a bug that only manifests when the physical address of
the interrupt status register is >4GB. Specifically, the driver was only
telling the device about the lower 32 bits of the ISR. This patch adds
the upper 32 bits.
Signed-off-by: David Matlack <dmatlack@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Matlack [Tue, 6 May 2014 04:02:35 +0000 (21:02 -0700)]
staging: slicoss: fix dma memory leak
This patch fixes a memory leak in slic_card_init. If the driver fails
to poll for an interrupt after requesting config data from the device
the dma memory is never freed.
Signed-off-by: David Matlack <dmatlack@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Matlack [Tue, 6 May 2014 04:02:34 +0000 (21:02 -0700)]
staging: slicoss: remove gratuitous debug infrastructure
As per the TODO file, this patch removes the gratuitous debug
infrastructure. As an extra incentive for removing this code,
the debugfs files are not cleaned up properly. For example, if
register_netdev() fails in slic_entry_probe() then all debugfs
files get left behind, even after the driver module is unloaded.
Touching these files quickly leads to an oops.
Signed-off-by: David Matlack <dmatlack@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Matlack [Tue, 6 May 2014 04:02:33 +0000 (21:02 -0700)]
staging: slicoss: remove unused members of struct adapter
This patch removes two fields from the private "struct adapter".
Specifically,
memorybase duplicate of slic_regs
memorylength written once and never read. This field is trivially
computed with pci_resource_len if it's ever needed in
the future.
Signed-off-by: David Matlack <dmatlack@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Matlack [Tue, 6 May 2014 04:02:32 +0000 (21:02 -0700)]
staging: slicoss: fix multiple free-after-free in slic_entry_remove
This patch fixes two free-after-free bugs in slic_entry_remove.
Specifically, slic_unmap_mmio_space() iounmaps adapter->slic_regs,
which is the same region of memory as dev->base_addr (iounmap-ed
a few lines later).
Next, both release_mem_region() and pci_release_regions() are called
on the same pci_dev struct.
Signed-off-by: David Matlack <dmatlack@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
David Matlack [Tue, 6 May 2014 04:02:31 +0000 (21:02 -0700)]
staging: slicoss: fix use-after-free in slic_entry_probe
This patch fixes a use-after-free bug that can cause a kernel
oops. If slic_card_init fails then slic_entry_probe (the pci
probe() function for this device) will return error without
cleaning up memory.
Signed-off-by: David Matlack <dmatlack@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>