Andreas Dilger [Sun, 27 Apr 2014 17:07:09 +0000 (13:07 -0400)]
staging/lustre: pass fsync() range through RPC/IO stack
The Linux VFS and Lustre OST_SYNC RPC are both capable of specifying
fsync() on a sub-extent of the file {start, end} instead of the full
file. This allows less than the full amount of data to be flushed,
reducing or possibly eliminating the work needed before the syscall
can return.
However, the handling of sub-extent of the file for fsync was lost
with the move to CLIO on the client and OSD API on the server. They
were ignoring the passed {start, end} and using {0, OBD_OBJECT_EOF}
instead.
Return the ability to pass a sub-extent for fsync() from the client,
to the specific stripes/OSTs that need the sync operation, and pass
it down to the OSD. The ZFS OSD doesn't handle this yet, but there
is room for improvement in a separate patch.
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-on: http://review.whamcloud.com/8626
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4388
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ryan Haasken [Sun, 27 Apr 2014 17:07:08 +0000 (13:07 -0400)]
staging/lustre: Always clamp cdls_delay between min and max
In libcfs_debug_vmsg2, cdls_delay is only clamped between the minimum
and the maximum when it is increased by multiplying by the backoff
factor. It is not clamped when it is decreased by dividing by the
backoff factor. This allows it to achieve values less than the
minimum, which allows a console message to be printed that should have
been skipped. This patch moves the clamping outside of the else
statement, ensuring that cdls_delay is always between the min and the
max after the first time through libcfs_debug_vmsg2.
Signed-off-by: Ryan Haasken <haasken@cray.com>
Reviewed-on: http://review.whamcloud.com/9503
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4711
Reviewed-by: Chris Horn <hornc@cray.com>
Reviewed-by: Ann Koehler <amk@cray.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Swapnil Pimpale [Sun, 27 Apr 2014 17:07:07 +0000 (13:07 -0400)]
staging/lustre/osc: Update inode timestamp for lockless IO as well
Removed the checks for oi_lockless from osc_io_read_start() and
osc_io_write_start(). This patch also removes the unnecessary call to
cl_object_attr_get() in osc_io_write_start() before calling
cl_object_attr_set()
Signed-off-by: Swapnil Pimpale <spimpale@ddn.com>
Reviewed-on: http://review.whamcloud.com/8797
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3868
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Li Xi [Sun, 27 Apr 2014 17:07:06 +0000 (13:07 -0400)]
staging/lustre: remove assertion of spin_is_locked()
spin_is_locked() is always false when the platform is
uniprocessor and CONFIG_DEBUG_SPINLOCK is not enabled.
This patch replaces its assertion by assert_spin_locked().
Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/8144
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4199
Reviewed-by: Alexey Lyashkov <alexey_lyashkov@xyratex.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John L. Hammond [Sun, 27 Apr 2014 17:07:05 +0000 (13:07 -0400)]
staging/lustre/llite: remove dead code
In llite remove unused declarations, parameters, types, and unused,
get-only, or set-only structure members. Add static and const
qualifiers to declarations where possible.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Reviewed-on: http://review.whamcloud.com/9767
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2675
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
wang di [Sun, 27 Apr 2014 17:07:04 +0000 (13:07 -0400)]
staging/lustre/mdc: use cl_max_mds_md to pack getattr RPC
In some cases, cl_default_mds_easize might be zero, especially for
MDC connected to non-MDT0, then mdc might pack getattr RPC with
zero eadatasize.
If client is trying to access remote striped directory with
zero eadatasize, MDT will not return layout information of the
striped direcotry, which will be mis-regarded as non-striped
directory.
So we should use cl_max_mds_easize if cl_default_mds_easize is zero.
Signed-off-by: wang di <di.wang@intel.com>
Reviewed-on: http://review.whamcloud.com/9862
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4847
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jinshan Xiong [Sun, 27 Apr 2014 17:07:03 +0000 (13:07 -0400)]
staging/lustre/clio: Solve a race in cl_lock_put
It's not atomic to check the last reference and state of cl_lock
in cl_lock_put(). This can cause a problem that an using lock is
freed, if the process is preempted between atomic_dec_and_test()
and (lock->cll_state == CLS_FREEING).
This problem can be solved by holding a refcount by coh_locks. In
this case, it can be sure that if the lock refcount reaches zero,
nobody else can have any chance to use it again.
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-on: http://review.whamcloud.com/9881
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4558
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bob Glossman [Sun, 27 Apr 2014 17:07:02 +0000 (13:07 -0400)]
staging/lustre/lloop: avoid panic during blockdev_info
Change the LL_IOC_LLOOP_INFO ioctl in the lustre lloop
device driver to return an error instead of causing
panics with LASSERT().
Signed-off-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-on: http://review.whamcloud.com/9888
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4863
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ryan Haasken [Sun, 27 Apr 2014 17:07:01 +0000 (13:07 -0400)]
staging/lustre/llite: Do not rate limit dirty page discard warning
Messages which are printed by ll_dirty_page_discard_warn() should not
be rate limited. If they are rate limited, some files which may be
corrupted on client eviction will not be reported to the user.
This patch changes the CWARN to a CDEBUG to disable console message
rate limiting for this message. The dirty page discard warnings are
already limited on a per-file basis by the function vvp_vmpage_error
which calls ll_dirty_page_discard_warn only if the ccc_object's
cob_discard_page_warned == 0.
Signed-off-by: Ryan Haasken <haasken@cray.com>
Reviewed-on: http://review.whamcloud.com/9752
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4799
Reviewed-by: Cory Spitz <spitzcor@cray.com>
Reviewed-by: Ann Koehler <amk@cray.com>
Reviewed-by: Chris Horn <hornc@cray.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dmitry Eremin [Sun, 27 Apr 2014 17:07:00 +0000 (13:07 -0400)]
staging/lustre/clio: replace semaphore with mutex
According https://www.kernel.org/doc/Documentation/mutex-design.txt:
- the mutex subsystem is slightly faster and has better scalability
for contended workloads. In terms of 'ops per CPU cycle', the
semaphore kernel performed 551 ops/sec per 1% of CPU time used,
while the mutex kernel performed 3825 ops/sec per 1% of CPU time
used - it was 6.9 times more efficient.
- there are no fastpath tradeoffs, the mutex fastpath is just as
tight as the semaphore fastpath. On x86, the locking fastpath is
2 instructions.
- 'struct mutex' semantics are well-defined and are enforced if
CONFIG_DEBUG_MUTEXES is turned on. Semaphores on the other hand
have virtually no debugging code or instrumentation.
One more benefit of mutex is optimistic spinning. It try to spin for
acquisition when there are no pending waiters and the lock owner is
currently running on a (different) CPU. The rationale is that if the
lock owner is running, it is likely to release the lock soon.
This significantly reduce amount of context switches when locked
region is small and we have high contention.
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/9095
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4257
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dmitry Eremin [Sun, 27 Apr 2014 17:06:59 +0000 (13:06 -0400)]
staging/lustre: replace semaphores with mutexes
It's just optimization. The mutex subsystem is slightly faster
and has better scalability for contended workloads.
Remove the lustre_lock and it's accessor functions l_lock(),
l_unlock(), l_lock_init(), and l_has_lock() since they have
not been used by the code since Lustre 1.6.
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/9294
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4588
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Li Xi [Sun, 27 Apr 2014 17:06:58 +0000 (13:06 -0400)]
staging/lustre/libcfs: add CPU table functions for uniprocessor
Some CPU table functions for uniprocessor architecture is
missing.
Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: James Simmons <uja.ornl@gmail.com>
Reviewed-on: http://review.whamcloud.com/8873
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4199
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John L. Hammond [Sun, 27 Apr 2014 17:06:57 +0000 (13:06 -0400)]
staging/lustre: remove lustre/include/ioctl.h
Remove the nowhere included header lustre/include/ioctl.h.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Reviewed-on: http://review.whamcloud.com/9757
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2675
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Liang Zhen [Sun, 27 Apr 2014 17:06:56 +0000 (13:06 -0400)]
staging/lustre/lnet: NI shutdown may loop forever
lnet_shutdown_lndnis() may enter endless loop if there is a busy NI,
this is injected by LNet SMP improvements. It's fixed in this patch.
Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-on: http://review.whamcloud.com/9706
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4780
Reviewed-by: Isaac Huang <he.huang@intel.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dmitry Eremin [Sun, 27 Apr 2014 17:06:55 +0000 (13:06 -0400)]
staging/lustre/libcfs: fix issues found by Klocwork Insight tool
sscanf format specification '%u' expects type 'unsigned int *'
for 'u', but parameter 3 has a different type 'int*'.
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/9400
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4629
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dmitry Eremin [Sun, 27 Apr 2014 17:06:54 +0000 (13:06 -0400)]
staging/lustre/mdc: fix issue found by Klocwork Insight tool
Pointer 'mod' checked for NULL at line 160 may be dereferenced at line 208.
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/9387
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4629
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dmitry Eremin [Sun, 27 Apr 2014 17:06:52 +0000 (13:06 -0400)]
staging/lustre/ldlm: fix NULL pointer dereference
Pointer '*exp' returned from call to function 'class_conn2export'
at line 523 may be NULL and may be dereferenced at line 543.
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/9323
ntel-bug-id: https://jira.hpdd.intel.com/browse/LU-4629
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Andreas Dilger [Sun, 27 Apr 2014 17:06:51 +0000 (13:06 -0400)]
staging/lustre: shrink lu_object_header by 8 bytes on x86_64
Locate the loh_flags and loh_ref fields together in lu_object_header
to avoid holes and shrink the structure by 8 bytes.
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-on: http://review.whamcloud.com/9185
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3059
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jinshan Xiong [Sun, 27 Apr 2014 17:06:50 +0000 (13:06 -0400)]
staging/lustre/llite: access layout version under a lock
We used to access layout version under the protection of ldlm
lock, this introduces extra overhead for dlm lock matching.
In this patch, lli_layout_lock is introduced to access the layout
version. Also, when a layout lock is losing, we should tear down
mmap of the correspoding inode to avoid stale data accessing in the
future.
This is part of technical verification of replication.
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-on: http://review.whamcloud.com/8689
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3254
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christopher J. Morrone [Sun, 27 Apr 2014 17:06:49 +0000 (13:06 -0400)]
stagaing/lustre: Improve statahead debug messages
The statahead debug messages include the pid of the current
process in their body. This is both redudant (because all
lustre log messages contain the pid), and sometimes downright
misleading. For instance the messages would say something like
"stopping statahead thread 3446". One would probably think
that 3446 is the pid of the process that is being stopped,
but in fact it was the pid of the caller issuing the stop signal.
We remove all superfluous pids from the messages.
Next we have the ll_statahead_thread() and the ll_agl_thread() record
their respective pids in their respective ptlrpc_thread structures.
This allows to print the pid of the thread that we are trying to
stop (which is actually useful info) from other threads, such as those
calling ll_stop_statahead().
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/9360
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4624
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Christopher J. Morrone [Sun, 27 Apr 2014 17:06:48 +0000 (13:06 -0400)]
staging/lustre/llite: Avoid statahead thread start/stop deadlocks
The statahead and statahead agl threads blindly set their
thread state to SVC_RUNNING without checking the state first. If, for
instance, another thread sets the state to SVC_STOPPING that
stop signal will now have been lost. Deadlock ensues.
We also partly improve the sai reference counting, because a race exists
where the ll_stop_statahead thread can drop the default reference, and
the statahead thread can exit and drop its reference as well. With no
references on the sai, the final put will poison and free the buffer. The
original do_statahead_enter() function may then continue to access
the buffer after it is freed because it did not take a reference of its
own. We add a local reference to address that.
Signed-off-by: Christopher J. Morrone <morrone2@llnl.gov>
Reviewed-on: http://review.whamcloud.com/9358
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4624
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Brian Behlendorf [Sun, 27 Apr 2014 17:06:47 +0000 (13:06 -0400)]
staging/lustre: Limit reply buffer size
When allocating a reply buffer for the striping information don't
assume the unlikely worst case. Instead, assume the common case
and size the buffer based on the observed default ea/cookie size.
The default size is initialized to a single stripe and allowed to
grow up to an entire page if needed. This means that for smallish
filesystems (less than ~21 OSTs) where the worst case striping
information can fit in a single page there is effectively no
change. Only for larger filesystem will the default be less than
the maximum. This has a number of advantages.
* By limiting the default reply buffer size we avoid always
vmalloc()'ing the buffer because it exceeds four pages in size
and instead kmalloc() it. This prevents the client from
thrashing on the global vmalloc() spin lock.
* A reply buffer of exactly the right size (no larger) is allocated
in the overflow case. These larger reply buffers are still
unlikely to exceed the 16k limit where a vmalloc() will occur.
* Saves memory in the common case. Wide striped files exceeded
the default are expected to be the exception.
The reason this patch works is because the ptlrpc layer is smart
enough to reallocate the reply buffer when an overflow occurs.
Therefore the client doesn't have to drop the incoming reply and
send a new request with a larger reply buffer.
It's also worth mentioning that the reply buffer always contains
a significant amount of extra padding because they are rounded up
to the nearest power of two. This means that even files striped
wider than the default have a good chance of fitting in the
allocated reply buffer.
Also remove client eadatasize check in mdt xattr packing because
as said above client can handle -EOVERFLOW.
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-on: http://review.whamcloud.com/6339
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3338
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jinshan Xiong [Sun, 27 Apr 2014 17:06:46 +0000 (13:06 -0400)]
staging/lustre/lov: to not hold sub locks at initialization
Otherwise, it will cause deadlock because it essentially holds
some sub locks and then to request others in an arbitrary order.
Signed-off-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-on: http://review.whamcloud.com/9152
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bobi Jam [Sun, 27 Apr 2014 17:06:45 +0000 (13:06 -0400)]
staging/lustre/llite: deadlock taking lli_trunc_sem during file write
File write before io loop will take lli_trun_sem read semaphore to
protect osc_extent, while after generic_file_aio_write() done, it
could possible need to kill suid or sgid, which will call
ll_setattr_raw() to change the inode's attribute, and it does not
involve size.
So the ll_truc_sem write semaphore should be constrained
around ll_setattr_ost() to not come across the lli_trunc_sem read
semaphore get from the normal file write path.
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Reviewed-on: http://review.whamcloud.com/9267
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4627
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Bobi Jam [Sun, 27 Apr 2014 17:06:44 +0000 (13:06 -0400)]
staging/lustre/llite: issue OST_SYNC for fsync()
The last parameter @datasync of fsync() has following indication:
* if datasync=0, we'd always flush data and metadata
* if datasync=1, we'd always flush data while does not flush modifed
metadata unless that metadata is needed in order to allow a
subsequent data retrieval to be correctly handled. For example, a
change to the file size would require a metadata flush.
Lustre client can not tell the difference easily, and would issue
MDS_SYNC and OST_SYNC in all cases.
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Reviewed-on: http://review.whamcloud.com/8684
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4388
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Li Xi [Sun, 27 Apr 2014 17:06:43 +0000 (13:06 -0400)]
staging/lustre: fix permission problem of setfacl
Setxattr does not check the permission when setting ACL xattrs. This
will cause security problem because any user can walk around
permission checking by changing ACL rules.
Signed-off-by: Li Xi <lixi@ddn.com>
Reviewed-on: http://review.whamcloud.com/9473
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4704
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
James Nunez [Sun, 27 Apr 2014 17:06:42 +0000 (13:06 -0400)]
staging/lustre/hsm: HSM requests not delivered
The total size of an HSM archive request may exceed the
desired (LNET) message. When this happens, it can hang
the client and not allow the archive request to succeed.
Before we know the total size of the hsm_action_items, we
need to limit the size of the reguest. Doing this limits
the number of items that can be sent in one archive request.
We'e reduced the size allowed for the user archive request
to MDS_MAXREQSIZE/3.
Signed-off-by: James Nunez <james.a.nunez@intel.com>
Reviewed-on: http://review.whamcloud.com/9393
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4639
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Peng Tao [Sun, 27 Apr 2014 17:06:41 +0000 (13:06 -0400)]
staging/lustre/hsm: count NULL terminator in hai_zero/hal_size
If fsname is 8-byte aligned, hai_zero fails to count the ending NULL
terminator causing hai to directly attached after fsname and future
hai_zero will return a different position for first hai.
Signed-off-by: Peng Tao <bergwolf@gmail.com>
Reviewed-on: http://review.whamcloud.com/9431
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4689
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John L. Hammond [Sun, 27 Apr 2014 17:06:40 +0000 (13:06 -0400)]
staging/lustre/obdclass: remove uses of lov_stripe_md
Remove the unused function llog_obd_add(). Remove the unused count and
parameters from llog_cancel(). Move dump_lsm() from obdclass to
the only module that uses it (lov). Remove obd_lov.h.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Reviewed-on: http://review.whamcloud.com/8545
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2675
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
John L. Hammond [Sun, 27 Apr 2014 17:06:39 +0000 (13:06 -0400)]
staging/lustre/lov: remove unused lov llog code
Remove the unused functions lov_llog_init(), lov_llog_finish(),
their supporting functions, and the file lov_log.c.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Reviewed-on: http://review.whamcloud.com/8539
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2675
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Andreas Dilger [Sun, 27 Apr 2014 17:06:38 +0000 (13:06 -0400)]
staging/lustre: quiet console permission error messages
Quiet some common console error messages for permission errors
that can be hit in common cases.
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-on: http://review.whamcloud.com/8988
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4522
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Faccini Bruno <bruno.faccini@intel.com>
Reviewed-by: Bob Glossman <bob.glossman@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ann Koehler [Sun, 27 Apr 2014 17:06:36 +0000 (13:06 -0400)]
staging/lustre: restore __GFP_WAIT flag to memalloc calls
In Lustre 2.4, the flags passed to the memory allocation functions are
translated from CFS enumeration values types to the kernel GFP
values by calling cfs_alloc_flags_to_gfp(). This function adds
__GFP_WAIT to all flags except CFS_ALLOC_ATOMIC. In 2.5, when
the cfs wrappers were dropped, cfs_alloc_flags_to_gfp() was
removed and the CFS_ALLOC_xxxx was simply replaced with __GFP_xxxx.
This means that most memory allocation calls are missing the
__GFP_WAIT flag. The result is that Lustre experiences more ENOMEM
errors, many of which the higher levels of Lustre do not handle
robustly.
Notes GFP_NOFS = __GFP_WAIT | __GFP_IO. So the patch replaces
__GFP_IO with GFP_NOFS.
Patch does not add __GFP_WAIT to GFP_IOFS. GFP_IOFS was not used in
Lustre 2.4 so it has never been used with __GFP_WAIT.
Signed-off-by: Ann Koehler <amk@cray.com>
Signed-off-by: Emoly Liu <emoly.liu@intel.com>
Reviewed-on: http://review.whamcloud.com/9223
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4357
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Andriy Skulysh [Sun, 27 Apr 2014 17:06:35 +0000 (13:06 -0400)]
staging/lustre/ptlrpc: add rpc_cache
Add rpc_cache for allocating ptlrpc_requests.
Xyratex-bug-id: MRP-689
Signed-off-by: Andriy Skulysh <Andriy_Skulysh@xyratex.com>
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-on: http://review.whamcloud.com/6874
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2424
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Dmitry Eremin [Sun, 27 Apr 2014 17:06:34 +0000 (13:06 -0400)]
staging/lustre/gss: fix few issues found by Klocwork Insight tool
Array 'message_buf' of size 500 may use index value(s) -1
Object 'enc_key.data' was freed at line 164 after being freed
by calling 'free' at line 150. Also there are 3 similar errors
on line(s) 164.
Suspicious dereference of pointer 'vmsg' before NULL check at
line 187. Also there are 2 similar errors on line(s) 196, 205.
Suspicious dereference of pointer 'rmsg' before NULL check at
line 191. Also there are 2 similar errors on line(s) 200, 209.
Signed-off-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-on: http://review.whamcloud.com/9274
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4629
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Andreas Dilger [Sun, 27 Apr 2014 17:06:33 +0000 (13:06 -0400)]
staging/lustre/ptlrpc: don't try to recover no_recov connection
If a connection has been stopped with ptlrpc_pinger_del_import() and
marked obd_no_recov, don't reconnect in ptlrpc_disconnect_import() if
the import is already disconnected. Otherwise, without the pinger it
will just wait there indefinitely for the reconnection that will never
happen.
Put the obd_no_recov check inside ptlrpc_import_in_recovery() so that
any threads waiting on the connection to recover would also be broken
out of their sleep if obd_no_recov is set.
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-on: http://review.whamcloud.com/8996
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4413
Reviewed-by: Nathaniel Clark <nathaniel.l.clark@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Niu Yawei [Sun, 27 Apr 2014 17:06:32 +0000 (13:06 -0400)]
staging/lustre/clio: clear nowait flag agl lock re-enqueue
The LDLM_FL_BLOCK_NOWAIT flag should be cleared when re-enqueue
the agl lock as normal glimpse, otherwise, it won't get size back
if there is conflicting locks on other client.
Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Reviewed-on: http://review.whamcloud.com/9249
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4597
Reviewed-by: Bobi Jam <bobijam@gmail.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Reviewed-by: Ned Bass <bass6@llnl.gov>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Li Xi [Sun, 27 Apr 2014 17:06:31 +0000 (13:06 -0400)]
staging/lustre/ldlm: Hold lock when clearing flag
This patch moves lock's skip flag clearing from lru-delete to
lru-add code to prevent clearing lock's flag without resource lock
protection.
Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: Bobi Jam <bobijam.xu@intel.com>
Reviewed-on: http://review.whamcloud.com/8772
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4269
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Matt Ezell [Sun, 27 Apr 2014 17:06:30 +0000 (13:06 -0400)]
staging/lustre/lnet: Dropped messages are not accounted correctly
LNET messages that are dropped are not accounted for correctly in
/proc/sys/lnet/stats. What I assume to be a simple typo is causing
drop_length to be double-counted and drop_count to never be
incremented.
Signed-off-by: Matt Ezell <ezellma@ornl.gov>
Reviewed-on: http://review.whamcloud.com/9096
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4577
Reviewed-by: James Nunez <james.a.nunez@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Isaac Huang <he.huang@intel.com>
Reviewed-by: Liang Zhen <liang.zhen@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Hongchao Zhang [Sun, 27 Apr 2014 17:06:29 +0000 (13:06 -0400)]
staging/lustre/osc: don't activate deactivated obd_import
In ptlrpc_activate_import(), obd_import->imp_deactive should
be checked if it is deactivated, otherwise it will trigger an
LBUG in ptlrpc_invalidate_import():
ptlrpc_invalidate_import() ASSERTION(imp->imp_invalid) failed
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-on: http://review.whamcloud.com/8747
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4386
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cheng Shao [Sun, 27 Apr 2014 17:06:26 +0000 (13:06 -0400)]
staging/lustre/ptlrpc: Remove log message about export timer update
Function ptlrpc_update_export_timer generates lots of D_HA level log
messages whenever the export timer gets updated. Those log messages
are found little use for issue investigations, and it will take space
in the Lustre log buffer. We are removing it now.
Xyratex-bug-id: MRP-733
Signed-off-by: Cheng Shao <cheng_shao@xyratex.com>
Reviewed-on: http://review.whamcloud.com/9147
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4590
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Patrick Farrell [Sun, 27 Apr 2014 17:06:25 +0000 (13:06 -0400)]
staging/lustre/ptlrpc: Fix assertion failure of null_alloc_rs()
lustre_get_emerg_rs() set the size of the reply buffer to zero
by mistake, which will cause LBUG in null_alloc_rs() when memory
pressure is high. This patch fix this problem and adds a size
check to avoid the problem of insufficient buffer size.
Signed-off-by: Li Xi <lixi@ddn.com>
Signed-off-by: Patrick Farrell <paf@cray.com>
Reviewed-on: http://review.whamcloud.com/8200
Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3680
Reviewed-by: John L. Hammond <john.hammond@intel.com>
Signed-off-by: Oleg Drokin <oleg.drokin@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:52 +0000 (18:55 +0200)]
staging: rtl8723au: Get rid of _rtw_free_network23a_nolock23a()
_rtw_free_network23a() and _rtw_free_network23a_nolock23a() are now
identical - one copy should do.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:51 +0000 (18:55 +0200)]
staging: rtl8723au: rtw_free_network_queue23a() eliminate unused argument 'isfreeall'
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:50 +0000 (18:55 +0200)]
staging: rtl8723au: _rtw_free_network23a(): Remove unused argument 'isfreeall'
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:49 +0000 (18:55 +0200)]
staging: rtl8723au: _rtw_free_network23a(): Remove write-only variable 'lifetime'
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:48 +0000 (18:55 +0200)]
staging: rtl8723au: Fold _rtw_find_network23a() into rtw_find_network23a()
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:47 +0000 (18:55 +0200)]
staging: rtl8723au: Fold _rtw_free_network23a_queue23a() into rtw_free_network_queue23a()
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:46 +0000 (18:55 +0200)]
staging: rtl8723au: Fold _rtw_init_mlme_priv23a() into rtw_init_mlme_priv23a()
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:45 +0000 (18:55 +0200)]
staging: rtl8723au: Remove redundant checks of WPA OUI
All callers get here by searching for the WPA OUI first, so no point
checking for it once we get here.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:44 +0000 (18:55 +0200)]
staging: rtl8723au: Eliminate the 217th copy of the microsoft OUI
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:43 +0000 (18:55 +0200)]
staging: rtl8723au: Make sparse happy - make rtw_get_beacon_interval23a_from_ie return __le16 *
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Sat, 26 Apr 2014 16:55:42 +0000 (18:55 +0200)]
staging: r8723au: Fix endian errors for frame control
The following locations in the code treat the frame control as u16 rather than
the correct __le16:
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2471:15: expected unsigned short *fctrl
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2644:15: expected unsigned short *fctrl
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2849:15: expected unsigned short *fctrl
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2994:15: expected unsigned short *fctrl
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3308:15: expected unsigned short *fctrl
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3578:15: expected unsigned short *fctrl
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3699:15: expected unsigned short *fctrl
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3821:15: expected unsigned short *fctrl
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3932:15: expected unsigned short *fctrl
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4004:15: expected unsigned short [usertype] *fctrl
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4194:15: expected unsigned short *fctrl
drivers/staging/rtl8723au/core/rtw_xmit.c:911:23: expected unsigned short [usertype] *fctrl
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:216:15: expected unsigned short [usertype] *fctrl
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:313:15: expected unsigned short [usertype] *fctrl
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:350:15: expected unsigned short [usertype] *fctrl
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:419:15: expected unsigned short [usertype] *fctrl
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:314:15: expected unsigned short *fctrl
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:2357:15: expected unsigned short *fctrl
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:41 +0000 (18:55 +0200)]
staging: rtl8723au: Make rtw_get_capability23a_from_ie() return __le 16 *
This should make sparse happier.
Reported-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:40 +0000 (18:55 +0200)]
staging: rtl8723au: Remove unused hal interface for accessing bb regs
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:39 +0000 (18:55 +0200)]
staging: rtl8723au: struct pwrctrl_priv remove unused entry b_hw_radio_off
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:38 +0000 (18:55 +0200)]
staging: rtl8723au: from hal_ops 'interface_ps_func'
Lots of hoops for a dummy function which was never called
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:37 +0000 (18:55 +0200)]
staging: rtl8723au: Remove another pile of unused entries from struct rtw_adapter
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:36 +0000 (18:55 +0200)]
staging: rtl8723au: Remove unused struct specific_device_id
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:35 +0000 (18:55 +0200)]
staging: rtl8723au: Remove unused entries from struct dvobj_priv
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:34 +0000 (18:55 +0200)]
staging: rtl8723au: Eliminate struct intf_hdl
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:33 +0000 (18:55 +0200)]
staging: rtl8723au: Remove another two unused prototypes
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:32 +0000 (18:55 +0200)]
staging: rtl8723au: Remove unused rtw_adapter * from struct intf_hdl
struct intf_hdl is now purely a wrapper around struct _io_ops, so we
can get rid of it in the next patch.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:31 +0000 (18:55 +0200)]
staging: rtl8723au: Pass a struct rtw_adapter * to the USB functions
This lowers the dependency on struct intf_hdl so we can start getting
rid of if.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:30 +0000 (18:55 +0200)]
staging: rtl8723au: Remove unused pintf_dev entry from struct intf_hdl
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:29 +0000 (18:55 +0200)]
staging: rtl8723au: Get rid of struct io_priv
No point wrapping struct intf_hdl into struct io_priv just for the
sake of it.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:28 +0000 (18:55 +0200)]
staging: rtl8723au: Remove unused struct rtw_adapter * from struct io_priv
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:27 +0000 (18:55 +0200)]
staging: rtl8723au: bRxRSSIDisplay is always set to zero
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:26 +0000 (18:55 +0200)]
staging: rtl8723au: Remove some leftover pointers from struct rtw_adapter
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:25 +0000 (18:55 +0200)]
staging: rtl8723au: Remove all references to unused io_queue
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:24 +0000 (18:55 +0200)]
staging: rtl8723au: Remove _rtw_write_port_and_wait() functions
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:23 +0000 (18:55 +0200)]
staging: rtl8723au: Not sure what a write_scsi function is doing in a WiFi driver
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:22 +0000 (18:55 +0200)]
staging: rtl8723au: Remove unused ioreq_* prototypes
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:21 +0000 (18:55 +0200)]
staging: rtl8723au: Fold rtw_init_io_priv23a() into rtl8723au_set_intf_ops()
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:20 +0000 (18:55 +0200)]
staging: rtl8723au: Remove wrapper around rtl8723au_set_intf_ops()
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:19 +0000 (18:55 +0200)]
staging: rtl8723au: Remove unused usb write_async calls
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Sat, 26 Apr 2014 16:55:18 +0000 (18:55 +0200)]
staging: r8723au: Fix sparse warnings in core/rtw_ap.c
The following warnings are fixed:
drivers/staging/rtl8723au/core/rtw_ap.c:79:23: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/core/rtw_ap.c:79:23: expected unsigned short [unsigned] [usertype] tim_bitmap_le
drivers/staging/rtl8723au/core/rtw_ap.c:79:23: got restricted __le16 [usertype] <noident>
drivers/staging/rtl8723au/core/rtw_ap.c:1441:37: warning: restricted __le16 degrades to integer
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Sat, 26 Apr 2014 16:55:17 +0000 (18:55 +0200)]
staging: r8723au: Set undeclared routines to static
The following sparse warnings are fixed:
drivers/staging/rtl8723au/core/rtw_cmd.c:1211:6: warning: symbol 'dynamic_chk_wk_hdl' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_cmd.c:1238:6: warning: symbol 'lps_ctrl_wk_hdl' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_cmd.c:1812:6: warning: symbol 'rtw_getrttbl_cmd_cmdrsp_callback' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_mlme.c:364:6: warning: symbol 'rtw_free_network' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_mlme.c:373:6: warning: symbol 'rtw_free_network_nolock' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_mlme.c:631:6: warning: symbol 'rtw_add_network' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_mlme.c:644:5: warning: symbol 'rtw_is_desired_network' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2246:5: warning: symbol 'DoReserved23a' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:5549:6: warning: symbol 'linked23a_rx_sig_stren_disp' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_pwrctrl.c:272:4: warning: symbol 'PS_RDY_CHECK' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_recv.c:1937:5: warning: symbol 'enqueue_reorder_recvframe23a' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_sta_mgt.c:24:6: warning: symbol '_rtw_init_stainfo' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_sta_mgt.c:112:6: warning: symbol 'rtw_mfree_all_stainfo' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_sta_mgt.c:127:6: warning: symbol 'rtw_mfree_sta_priv_lock' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_wlan_util.c:143:15: warning: symbol 'ratetbl_val_2wifirate' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_wlan_util.c:188:5: warning: symbol 'is_basicrate' was not declared. Should it be static?
drivers/staging/rtl8723au/core/rtw_wlan_util.c:206:14: warning: symbol 'ratetbl2rateset' was not declared. Should it be static?
Three of the above routines were not used and were deleted.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Sat, 26 Apr 2014 16:55:16 +0000 (18:55 +0200)]
staging: r8723au: Fix endian errors in descriptor get and set macros
There are several macros used to get and set portions of the RX and TX descriptor
information that need to be converted to be endian correct. The following sparse
warnings are fixed:
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2477:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2477:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2479:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2479:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2479:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2479:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2479:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2479:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2649:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2649:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2651:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2651:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2651:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2651:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2651:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2651:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2863:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2863:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2865:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2865:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2865:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2865:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2865:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2865:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2996:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2996:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2998:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2998:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2998:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2998:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2998:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:2998:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3105:25: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3105:25: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3105:25: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3164:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3164:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3167:17: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3167:17: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3167:17: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3167:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3167:17: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3167:17: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3313:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3313:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3315:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3315:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3315:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3315:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3315:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3315:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3581:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3581:17: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3581:17: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3583:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3583:17: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3583:17: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3586:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3586:17: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3586:17: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3592:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3592:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3594:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3594:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3594:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3594:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3594:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3594:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3702:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3702:17: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3702:17: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3704:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3704:17: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3704:17: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3707:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3707:17: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3707:17: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3711:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3711:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3711:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3713:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3713:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3713:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3715:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3715:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3715:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3721:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3721:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3723:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3723:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3723:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3723:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3723:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3723:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3827:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3827:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3829:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3829:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3829:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3829:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3829:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3829:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3938:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3938:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3940:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3940:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3940:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3940:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3940:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:3940:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4010:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4010:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4012:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4012:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4012:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4012:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4012:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4012:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4199:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4199:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4201:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4201:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4201:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4201:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4201:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4201:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4509:28: warning: too many warnings
drivers/staging/rtl8723au/core/rtw_xmit.c:940:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_xmit.c:940:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_xmit.c:940:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:940:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_xmit.c:940:9: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_xmit.c:940:9: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:946:25: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_xmit.c:946:25: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_xmit.c:946:25: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:957:25: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_xmit.c:957:25: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_xmit.c:957:25: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:980:25: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_xmit.c:980:25: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_xmit.c:980:25: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:982:25: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_xmit.c:982:25: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_xmit.c:982:25: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:986:33: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_xmit.c:986:33: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_xmit.c:986:33: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:987:25: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_xmit.c:987:25: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_xmit.c:987:25: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:988:25: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_xmit.c:988:25: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_xmit.c:988:25: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:997:25: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:997:25: warning: cast to restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:1176:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/core/rtw_xmit.c:1176:17: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_xmit.c:1176:17: right side has type restricted __le16
drivers/staging/rtl8723au/core/rtw_xmit.c:1260:25: warning: invalid assignment: &=
drivers/staging/rtl8723au/core/rtw_xmit.c:1260:25: left side has type unsigned short
drivers/staging/rtl8723au/core/rtw_xmit.c:1260:25: right side has type fouled restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:224:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:224:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:226:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:226:9: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:226:9: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:226:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:226:9: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:226:9: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:316:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:316:9: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:316:9: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:317:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:317:9: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:317:9: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:317:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:317:9: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:317:9: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:320:9: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:320:9: expected unsigned short [unsigned] [short] <noident>
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:320:9: got restricted __le16 [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:354:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:354:17: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:354:17: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:358:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:358:17: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:358:17: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:366:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:366:17: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:366:17: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:382:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:382:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:387:17: warning: invalid assignment: &=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:387:17: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:387:17: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:387:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:387:17: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:387:17: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:390:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:390:17: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:390:17: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:391:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:391:17: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:391:17: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:395:17: warning: invalid assignment: &=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:395:17: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:395:17: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:395:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:395:17: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:395:17: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:426:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:426:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:427:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:427:9: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:427:9: right side has type restricted __le16
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:427:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:427:9: left side has type unsigned short
drivers/staging/rtl8723au/hal/rtl8723a_cmd.c:427:9: right side has type restricted __le16
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:319:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:319:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:323:17: warning: invalid assignment: &=
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:323:17: left side has type unsigned short
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:323:17: right side has type restricted __le16
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:323:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:323:17: left side has type unsigned short
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:323:17: right side has type restricted __le16
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:326:17: warning: invalid assignment: &=
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:326:17: left side has type unsigned short
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:326:17: right side has type restricted __le16
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:326:17: warning: invalid assignment: |=
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:326:17: left side has type unsigned short
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:326:17: right side has type restricted __le16
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:2368:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:2368:9: warning: cast to restricted __le16
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:2370:9: warning: invalid assignment: &=
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:2370:9: left side has type unsigned short
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:2370:9: right side has type restricted __le16
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:2370:9: warning: invalid assignment: |=
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:2370:9: left side has type unsigned short
drivers/staging/rtl8723au/os_dep/ioctl_cfg80211.c:2370:9: right side has type restricted __le16
The following new warnings were temporarily added:
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4509:28: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4509:28: expected unsigned short [unsigned] [assigned] [usertype] capab_info
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4509:28: got restricted __le16 [usertype] capab_info
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:4612:17: warning: cast to restricted __le32
drivers/staging/rtl8723au/core/rtw_mlme_ext.c:5549:6: warning: symbol 'linked23a_rx_sig_stren_disp' was not declared. Should it be static?
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Sat, 26 Apr 2014 16:55:15 +0000 (18:55 +0200)]
staging: r8723au: Fix endian issues in hal/rtl8723au_recv.c
The following sparse warnings are fixed:
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:145:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:145:22: expected restricted __le32 [usertype] rxdw0
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:145:22: got unsigned int [unsigned] [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:146:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:146:22: expected restricted __le32 [usertype] rxdw1
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:146:22: got unsigned int [unsigned] [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:147:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:147:22: expected restricted __le32 [usertype] rxdw2
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:147:22: got unsigned int [unsigned] [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:148:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:148:22: expected restricted __le32 [usertype] rxdw3
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:148:22: got unsigned int [unsigned] [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:149:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:149:22: expected restricted __le32 [usertype] rxdw4
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:149:22: got unsigned int [unsigned] [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:150:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:150:22: expected restricted __le32 [usertype] rxdw5
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:150:22: got unsigned int [unsigned] [usertype] <noident>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Sat, 26 Apr 2014 16:55:14 +0000 (18:55 +0200)]
staging: r8723au: Fix endian issues with TX and RX descriptors
All descriptors are __le32, not unsigned int. The following sparse warnings are fixed:
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2626:24: warning: invalid assignment: &=
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2626:24: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2626:24: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2632:24: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2632:24: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2632:24: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2873:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2873:22: expected unsigned int [unsigned] txdw0
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2873:22: got restricted __le32 [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2874:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2874:22: expected unsigned int [unsigned] txdw1
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2874:22: got restricted __le32 [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2875:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2875:22: expected unsigned int [unsigned] txdw2
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2875:22: got restricted __le32 [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2876:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2876:22: expected unsigned int [unsigned] txdw3
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2876:22: got restricted __le32 [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2877:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2877:22: expected unsigned int [unsigned] txdw4
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2877:22: got restricted __le32 [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2878:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2878:22: expected unsigned int [unsigned] txdw5
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2878:22: got restricted __le32 [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2879:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2879:22: expected unsigned int [unsigned] txdw6
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2879:22: got restricted __le32 [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2880:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2880:22: expected unsigned int [unsigned] txdw7
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2880:22: got restricted __le32 [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2903:24: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2903:24: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2903:24: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2906:24: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2906:24: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2906:24: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2910:24: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2910:24: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2910:24: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2914:24: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2914:24: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2914:24: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2919:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2919:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2919:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2922:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2922:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2922:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2924:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2924:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2924:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2928:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2928:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2928:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2932:24: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2932:24: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2932:24: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:145:24: warning: cast to restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:146:24: warning: cast to restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:147:24: warning: cast to restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:148:24: warning: cast to restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:149:24: warning: cast to restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:150:24: warning: cast to restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:77:32: warning: invalid assignment: &=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:77:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:77:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:82:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:82:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:82:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:92:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:92:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:92:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:97:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:97:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:97:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:100:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:100:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:100:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:183:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:183:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:183:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:186:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:186:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:186:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:188:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:188:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:188:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:193:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:193:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:193:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:195:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:195:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:195:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:200:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:200:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:200:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:204:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:204:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:204:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:214:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:214:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:214:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:215:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:215:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:215:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:218:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:218:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:218:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:224:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:224:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:224:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:226:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:226:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:226:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:229:48: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:229:48: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:229:48: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:231:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:231:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:231:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:235:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:235:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:235:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:238:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:238:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:238:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:240:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:240:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:240:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:245:40: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:245:40: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:245:40: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:248:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:248:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:248:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:251:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:251:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:251:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:254:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:254:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:254:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:255:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:255:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:255:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:257:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:257:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:257:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:264:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:264:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:264:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:266:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:266:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:266:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:271:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:271:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:271:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:274:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:274:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:274:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:277:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:277:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:277:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:288:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:288:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:288:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:290:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:290:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:290:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:294:24: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:294:24: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:294:24: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:295:24: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:295:24: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:295:24: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:296:24: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:296:24: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:296:24: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:299:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:299:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:299:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:306:32: warning: invalid assignment: |=
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:306:32: left side has type unsigned int
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:306:32: right side has type restricted __le32
drivers/staging/rtl8723au/hal/usb_ops_linux.c:473:20: warning: cast to restricted __le32
drivers/staging/rtl8723au/hal/usb_ops_linux.c:590:36: warning: cast to restricted __le32
The following new warnings are temporarily added:
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2873:24: warning: cast from restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2874:24: warning: cast from restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2875:24: warning: cast from restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2876:24: warning: cast from restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2877:24: warning: cast from restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2878:24: warning: cast from restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2879:24: warning: cast from restricted __le32
drivers/staging/rtl8723au/hal/rtl8723a_hal_init.c:2880:24: warning: cast from restricted __le32
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:145:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:145:22: expected restricted __le32 [usertype] rxdw0
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:145:22: got unsigned int [unsigned] [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:146:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:146:22: expected restricted __le32 [usertype] rxdw1
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:146:22: got unsigned int [unsigned] [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:147:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:147:22: expected restricted __le32 [usertype] rxdw2
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:147:22: got unsigned int [unsigned] [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:148:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:148:22: expected restricted __le32 [usertype] rxdw3
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:148:22: got unsigned int [unsigned] [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:149:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:149:22: expected restricted __le32 [usertype] rxdw4
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:149:22: got unsigned int [unsigned] [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:150:22: warning: incorrect type in assignment (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:150:22: expected restricted __le32 [usertype] rxdw5
drivers/staging/rtl8723au/hal/rtl8723au_recv.c:150:22: got unsigned int [unsigned] [usertype] <noident>
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:211:51: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:211:51: expected unsigned int [usertype] *pdw
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:211:51: got restricted __le32 *<noident>
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:212:51: warning: incorrect type in argument 2 (different base types)
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:212:51: expected unsigned int [usertype] *pdw
drivers/staging/rtl8723au/hal/rtl8723au_xmit.c:212:51: got restricted __le32 *<noident>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Sat, 26 Apr 2014 16:55:13 +0000 (18:55 +0200)]
staging: r8723au: Fix sparse warning in os_dep/os_intfs.c
Sparse reports the following:
drivers/staging/rtl8723au/os_dep/os_intfs.c:321:14: warning: restricted __be16 degrades to integer
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Larry Finger [Sat, 26 Apr 2014 16:55:12 +0000 (18:55 +0200)]
staging: r8723au: Fix sparse errors in os_dep/osdep_service.c
Sparse reports
drivers/staging/rtl8723au/os_dep/osdep_service.c:24:20: error: Bad character constant
drivers/staging/rtl8723au/os_dep/osdep_service.c:25:0: error: Bad character constant
The constant in question is never used.
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:11 +0000 (18:55 +0200)]
staging: rtl8723au: Make some of the bt-coexist code less unreadable
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:10 +0000 (18:55 +0200)]
staging: rtl8723au: rtw_set_802_11_infrastructure_mode23a(): Make it readable
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:09 +0000 (18:55 +0200)]
staging: rtl8723au: Remove unnecessary typecasts of struct wlan_bssid_ex objects
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:08 +0000 (18:55 +0200)]
staging: rtl8723au: rtw_createbss_cmd23a(): Remove unnecessary typecast
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:07 +0000 (18:55 +0200)]
staging: rtl8723au: rtw_joinbss_cmd23a(): Remove unnecessary typecast
and remove use-once variable t_len.
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:06 +0000 (18:55 +0200)]
staging: rtl8723au: Preserve const attribute of cmd handler argument
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:05 +0000 (18:55 +0200)]
staging: rtl8723au: Make cmd handlers take a const u8 * as their data argument
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:04 +0000 (18:55 +0200)]
staging: rtl8723au: Remove unused #define FREE_CMDOBJ_SZ
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:03 +0000 (18:55 +0200)]
staging: rtl8723au: Remove unused list_head from struct cmd_obj
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:02 +0000 (18:55 +0200)]
staging: rtl8723au: Remove obsolete header file cmd_osdep.h
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:01 +0000 (18:55 +0200)]
staging: rtl8723au: Fold _rtw_init_evt_priv23a() into rtw_init_evt_priv23a()
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:55:00 +0000 (18:55 +0200)]
staging: rtl8723au: Fold _rtw_free_evt_priv23a() into rtw_free_evt_priv23a()
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:54:59 +0000 (18:54 +0200)]
staging: rtl8723au: Fold _rtw_free_cmd_priv23a() into rtw_free_cmd_priv23a()
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:54:58 +0000 (18:54 +0200)]
staging: rtl8723au: Remove obsolete hal thread handling code
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:54:57 +0000 (18:54 +0200)]
staging: rtl8723au: Use a workqueue for command handling
Rewrite the old thread based code to use a workqueue instead. This
removes a pile of complexity, locks and queues and eliminates problem
that cmd handling could have been killed from userspace.
This was suggested by Tejun Heo - thanks!
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:54:56 +0000 (18:54 +0200)]
staging: rtl8723au: cfg80211_rtw_add_key() return -ENOMEM on kmalloc failure
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:54:55 +0000 (18:54 +0200)]
staging: rtl8723au: rtw_cfg80211_inform_bss() fix Smatch warning
Check the size of pnetwork->network.IELenght correctly to avoid Smatch
warning.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Jes Sorensen [Sat, 26 Apr 2014 16:54:54 +0000 (18:54 +0200)]
staging: rtl8723au: c2h_wk_callback(): Use GFP_KERNEL, and check return value
It is safe to use GFP_KERNEL in a workqueue handler, and check the
return value. If the malloc fails, skip and try again.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>