platform/kernel/linux-starfive.git
10 years agostaging/lustre: pass fsync() range through RPC/IO stack
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>
10 years agostaging/lustre: Always clamp cdls_delay between min and max
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>
10 years agostaging/lustre/osc: Update inode timestamp for lockless IO as well
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>
10 years agostaging/lustre: remove assertion of spin_is_locked()
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>
10 years agostaging/lustre/llite: remove dead code
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>
10 years agostaging/lustre/mdc: use cl_max_mds_md to pack getattr RPC
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>
10 years agostaging/lustre/clio: Solve a race in cl_lock_put
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>
10 years agostaging/lustre/lloop: avoid panic during blockdev_info
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>
10 years agostaging/lustre/llite: Do not rate limit dirty page discard warning
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>
10 years agostaging/lustre/clio: replace semaphore with mutex
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>
10 years agostaging/lustre: replace semaphores with mutexes
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>
10 years agostaging/lustre/libcfs: add CPU table functions for uniprocessor
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>
10 years agostaging/lustre: remove lustre/include/ioctl.h
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>
10 years agostaging/lustre/lnet: NI shutdown may loop forever
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>
10 years agostaging/lustre/libcfs: fix issues found by Klocwork Insight tool
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>
10 years agostaging/lustre/mdc: fix issue found by Klocwork Insight tool
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>
10 years agostaging/lustre/ldlm: fix NULL pointer dereference
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>
10 years agostaging/lustre: shrink lu_object_header by 8 bytes on x86_64
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>
10 years agostaging/lustre/llite: access layout version under a lock
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>
10 years agostagaing/lustre: Improve statahead debug messages
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>
10 years agostaging/lustre/llite: Avoid statahead thread start/stop deadlocks
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>
10 years agostaging/lustre: Limit reply buffer size
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>
10 years agostaging/lustre/lov: to not hold sub locks at initialization
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>
10 years agostaging/lustre/llite: deadlock taking lli_trunc_sem during file write
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>
10 years agostaging/lustre/llite: issue OST_SYNC for fsync()
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>
10 years agostaging/lustre: fix permission problem of setfacl
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>
10 years agostaging/lustre/hsm: HSM requests not delivered
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>
10 years agostaging/lustre/hsm: count NULL terminator in hai_zero/hal_size
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>
10 years agostaging/lustre/obdclass: remove uses of lov_stripe_md
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>
10 years agostaging/lustre/lov: remove unused lov llog code
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>
10 years agostaging/lustre: quiet console permission error messages
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>
10 years agostaging/lustre: restore __GFP_WAIT flag to memalloc calls
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>
10 years agostaging/lustre/ptlrpc: add rpc_cache
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>
10 years agostaging/lustre/gss: fix few issues found by Klocwork Insight tool
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>
10 years agostaging/lustre/ptlrpc: don't try to recover no_recov connection
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>
10 years agostaging/lustre/clio: clear nowait flag agl lock re-enqueue
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>
10 years agostaging/lustre/ldlm: Hold lock when clearing flag
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>
10 years agostaging/lustre/lnet: Dropped messages are not accounted correctly
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>
10 years agostaging/lustre/osc: don't activate deactivated obd_import
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>
10 years agostaging/lustre/ptlrpc: Remove log message about export timer update
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>
10 years agostaging/lustre/ptlrpc: Fix assertion failure of null_alloc_rs()
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>
10 years agostaging: rtl8723au: Get rid of _rtw_free_network23a_nolock23a()
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>
10 years agostaging: rtl8723au: rtw_free_network_queue23a() eliminate unused argument 'isfreeall'
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>
10 years agostaging: rtl8723au: _rtw_free_network23a(): Remove unused argument 'isfreeall'
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>
10 years agostaging: rtl8723au: _rtw_free_network23a(): Remove write-only variable 'lifetime'
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>
10 years agostaging: rtl8723au: Fold _rtw_find_network23a() into rtw_find_network23a()
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>
10 years agostaging: rtl8723au: Fold _rtw_free_network23a_queue23a() into rtw_free_network_queue23a()
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>
10 years agostaging: rtl8723au: Fold _rtw_init_mlme_priv23a() into rtw_init_mlme_priv23a()
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>
10 years agostaging: rtl8723au: Remove redundant checks of WPA OUI
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>
10 years agostaging: rtl8723au: Eliminate the 217th copy of the microsoft OUI
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>
10 years agostaging: rtl8723au: Make sparse happy - make rtw_get_beacon_interval23a_from_ie retur...
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>
10 years agostaging: r8723au: Fix endian errors for frame control
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>
10 years agostaging: rtl8723au: Make rtw_get_capability23a_from_ie() return __le 16 *
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>
10 years agostaging: rtl8723au: Remove unused hal interface for accessing bb regs
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>
10 years agostaging: rtl8723au: struct pwrctrl_priv remove unused entry b_hw_radio_off
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>
10 years agostaging: rtl8723au: from hal_ops 'interface_ps_func'
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>
10 years agostaging: rtl8723au: Remove another pile of unused entries from struct rtw_adapter
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>
10 years agostaging: rtl8723au: Remove unused struct specific_device_id
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>
10 years agostaging: rtl8723au: Remove unused entries from struct dvobj_priv
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>
10 years agostaging: rtl8723au: Eliminate struct intf_hdl
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>
10 years agostaging: rtl8723au: Remove another two unused prototypes
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>
10 years agostaging: rtl8723au: Remove unused rtw_adapter * from struct intf_hdl
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>
10 years agostaging: rtl8723au: Pass a struct rtw_adapter * to the USB functions
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>
10 years agostaging: rtl8723au: Remove unused pintf_dev entry from struct intf_hdl
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>
10 years agostaging: rtl8723au: Get rid of struct io_priv
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>
10 years agostaging: rtl8723au: Remove unused struct rtw_adapter * from struct io_priv
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>
10 years agostaging: rtl8723au: bRxRSSIDisplay is always set to zero
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>
10 years agostaging: rtl8723au: Remove some leftover pointers from struct rtw_adapter
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>
10 years agostaging: rtl8723au: Remove all references to unused io_queue
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>
10 years agostaging: rtl8723au: Remove _rtw_write_port_and_wait() functions
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>
10 years agostaging: rtl8723au: Not sure what a write_scsi function is doing in a WiFi driver
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>
10 years agostaging: rtl8723au: Remove unused ioreq_* prototypes
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>
10 years agostaging: rtl8723au: Fold rtw_init_io_priv23a() into rtl8723au_set_intf_ops()
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>
10 years agostaging: rtl8723au: Remove wrapper around rtl8723au_set_intf_ops()
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>
10 years agostaging: rtl8723au: Remove unused usb write_async calls
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>
10 years agostaging: r8723au: Fix sparse warnings in core/rtw_ap.c
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>
10 years agostaging: r8723au: Set undeclared routines to static
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>
10 years agostaging: r8723au: Fix endian errors in descriptor get and set macros
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>
10 years agostaging: r8723au: Fix endian issues in hal/rtl8723au_recv.c
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>
10 years agostaging: r8723au: Fix endian issues with TX and RX descriptors
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>
10 years agostaging: r8723au: Fix sparse warning in os_dep/os_intfs.c
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>
10 years agostaging: r8723au: Fix sparse errors in os_dep/osdep_service.c
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>
10 years agostaging: rtl8723au: Make some of the bt-coexist code less unreadable
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>
10 years agostaging: rtl8723au: rtw_set_802_11_infrastructure_mode23a(): Make it readable
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>
10 years agostaging: rtl8723au: Remove unnecessary typecasts of struct wlan_bssid_ex objects
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>
10 years agostaging: rtl8723au: rtw_createbss_cmd23a(): Remove unnecessary typecast
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>
10 years agostaging: rtl8723au: rtw_joinbss_cmd23a(): Remove unnecessary typecast
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>
10 years agostaging: rtl8723au: Preserve const attribute of cmd handler argument
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>
10 years agostaging: rtl8723au: Make cmd handlers take a const u8 * as their data argument
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>
10 years agostaging: rtl8723au: Remove unused #define FREE_CMDOBJ_SZ
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>
10 years agostaging: rtl8723au: Remove unused list_head from struct cmd_obj
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>
10 years agostaging: rtl8723au: Remove obsolete header file cmd_osdep.h
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>
10 years agostaging: rtl8723au: Fold _rtw_init_evt_priv23a() into rtw_init_evt_priv23a()
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>
10 years agostaging: rtl8723au: Fold _rtw_free_evt_priv23a() into rtw_free_evt_priv23a()
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>
10 years agostaging: rtl8723au: Fold _rtw_free_cmd_priv23a() into rtw_free_cmd_priv23a()
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>
10 years agostaging: rtl8723au: Remove obsolete hal thread handling code
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>
10 years agostaging: rtl8723au: Use a workqueue for command handling
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>
10 years agostaging: rtl8723au: cfg80211_rtw_add_key() return -ENOMEM on kmalloc failure
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>
10 years agostaging: rtl8723au: rtw_cfg80211_inform_bss() fix Smatch warning
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>
10 years agostaging: rtl8723au: c2h_wk_callback(): Use GFP_KERNEL, and check return value
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>