Function ft1000_submit_rx_urb() could fail so add checking
for return value.
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Handling for pseudo header was done by directly copying
data to tx buffer. This hide a functionality and make
code unreadable.
Use approach where fill pseudo_hdr structure first with data and then copy
to beginning of buffer.
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Remove functions which was used nowhere. Also remove dead
variables used by this functions.
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Using pdpram_blk here would cause an oops. We intended to use
&freercvpool.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Tested by: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
The code here is supposed checking if we exited the loop without hitting
a break. The problem is that in the error handling "i" is out of bounds
and it corrupts memory when we do an info->app_info[i].nRxMsgMiss++.
>From the comments, it looks like someone noticed this corruption and
updated the code, but didn't totally fix the problem. The correct fix
is just to remove nRxMsgMiss++ from the error path.
I believe this bug can be triggered remotely.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
was #ifdef so remove code which was under #else to make
code more readable.
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This patch remove global flag DSP_loading which was checked
only on one place. Instead check return value for dsp_reload() function.
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
call request_firmware instead of trying to open the file directly from
the kernel driver.
Signed-off-by: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
get_stat_data is not fully initialized before copy_to_user() call,
e.g. LedStat is not always set.
Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
init_ft1000_netdev() calls kfree(netdev) instead of free_netdev(netdev).
It doesn't check kmalloc() return value.
ft1000_read_fifo_reg() doesn't free dr on error and calls kfree(urb)
instead of usb_free_urb(urb). Also kfree(NULL) is OK.
Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
In the original code, address space annotations are missing,
which hides a possible unchecked user pointer access.
Two functions use a lot of stack space.
Extern declarations are all in the wrong place, which leads
to type differences between caller and callee in some cases.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This lets us see clearer when stuff breaks.
Most of the changes are fixes for casts between int and pointer
that don't work on 64 bit.
The ioctl function uses a large amount of stack, which gets
fixed by allocating the buffer dynamically.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
As a preparation for changing the default behaviour of llseek to no_llseek,
every file_operations structure should have a .llseek operation.
There are three new instances in staging now, which can all be changed
into no_llseek explicitly since the devices do not need to seek.
Add nonseekable_open where appropriate, to prevent pread/pwrite as well.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
ft1000_copy_up_pkt() doesn't free skb on errors.
init_ft1000_card() doesn't free netdev with free_netdev() but with kfree().
init_ft1000_card() doesn't check request_region()'s return value
and doesn't free region on error.
Signed-off-by: Vasiliy Kulikov <segooon@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
The driver hasn't been updated since the .30 kernel release and will
not build due to pcmcia api changes. Mark it broken for now so no
one hits it in their build accidentally.
Cc: Marek Belisko <marek.belisko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>