- 12 Mar, 2018 1 commit
-
-
Ioana Radulescu authored
One MC command structure got away with using uXX fields instead of __leXX. Fix it. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 08 Mar, 2018 10 commits
-
-
Roy Pledge authored
When running checkpatch over the DPIO code the following warning is reported: WARNING: function definition argument 'struct dpaa2_io_notification_ctx *' should also have an identifier name Add the missing identifier. Signed-off-by: Roy Pledge <roy.pledge@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ioana Radulescu authored
In qbman_swp_alt_fq_state(), we need to mask the fqid value before converting it to little endian, otherwise we write a wrong value to hardware when running in big endian mode. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ioana Radulescu authored
Structures that are mapped to hardware registers should explicitly specify the expected endianness for fields larger than 1 byte. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ioana Radulescu authored
Sparse reports the following warning: drivers/staging/fsl-mc/include/dpaa2-fd.h:421:30: warning: cast truncates bits from constant value (ffff7fff becomes 7fff) Fix this by explicitly masking the value with 0xffff. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Arushi Singhal authored
printk() is the raw way to print output and should be avoided. For drivers with defined "struct device object", dev_*macro() is prefer and for "struct netdevice object", netdev_*macro() is prefer over dev_*macro() to standardize the output format within the subsystem. If no "struct device object" is defined prefer pr_*macro() over printk(). This patch Replace printk having a log level with the appropriate output format according to the order of preference. Signed-off-by: Arushi Singhal <arushisinghal19971997@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ioana Radulescu authored
Move the cast in dpaa2_sg_get_addr() to the right place. Signed-off-by: Ioana Radulescu <ruxandra.radulescu@nxp.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Santha Meena Ramamoorthy authored
Replace occurrence of the function name in a string by reference to __func__, to improve robustness and to conform to the Linux kernel coding style. Issue found using checkpatch. Signed-off-by: Santha Meena Ramamoorthy <santhameena13@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Santha Meena Ramamoorthy authored
Fix typo in the words 'transmitted' and 'failure' in the comment. Issue found using checkpatch. Signed-off-by: Santha Meena Ramamoorthy <santhameena13@gmail.com> Reviewed-by: Vaishali Thakkar <vthakkar@vaishalithakkar.in> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Quytelda Kahja authored
There is no need for the calls to BUG_ON() in this driver, which are used to check if mbo or mbo->context are NULL; mbo is never NULL, and if mbo->context is NULL it would have already been dereferenced and oopsed before reaching the BUG_ON(). Signed-off-by: Quytelda Kahja <quytelda@tamalin.org> Acked-by: Christian Gromm <christian.gromm@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Kees Cook authored
The kernel would like to have all stack VLA usage removed[1]. This switches to a simple kasprintf() instead, and in the process fixes an off-by-one between the allocation and the sprintf (allocation did not include NULL byte in calculation). [1] https://lkml.org/lkml/2018/3/7/621Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 06 Mar, 2018 29 commits
-
-
Thomas Avery authored
Remove yield() call. In this case it's use is considered broken, since it is being assumed that yield() will let another process run that will make the event true. Signed-off-by: Thomas Avery <tavery321@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Valentin Vidic authored
Fixes checkpatch warning: CHECK: Avoid CamelCase: <paRamp> Signed-off-by: Valentin Vidic <Valentin.Vidic@CARNet.hr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Valentin Vidic authored
Fixes checkpatch warnings: CHECK: Avoid CamelCase: <nodeAddress> CHECK: Avoid CamelCase: <broadcastAddress> Signed-off-by: Valentin Vidic <Valentin.Vidic@CARNet.hr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Valentin Vidic authored
Fixes checkpatch warnings: CHECK: Avoid CamelCase: <filteringOff> CHECK: Avoid CamelCase: <nodeAddress> CHECK: Avoid CamelCase: <nodeOrBroadcastAddress> Signed-off-by: Valentin Vidic <Valentin.Vidic@CARNet.hr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Valentin Vidic authored
Fixes checkpatch warning: CHECK: Avoid CamelCase: <afterSyncInterrupt> Signed-off-by: Valentin Vidic <Valentin.Vidic@CARNet.hr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Valentin Vidic authored
Fixes checkpatch warnings: CHECK: Avoid CamelCase: <modeSwitchCompleted> CHECK: Avoid CamelCase: <readyToReceive> CHECK: Avoid CamelCase: <readyToSend> CHECK: Avoid CamelCase: <pllLocked> CHECK: Avoid CamelCase: <rssiExceededThreshold> CHECK: Avoid CamelCase: <syncAddressMatch> CHECK: Avoid CamelCase: <packetSent> CHECK: Avoid CamelCase: <crcOk> CHECK: Avoid CamelCase: <batteryLow> Signed-off-by: Valentin Vidic <Valentin.Vidic@CARNet.hr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Valentin Vidic authored
Fixes checkpatch warnings: CHECK: Avoid CamelCase: <packetFormat> CHECK: Avoid CamelCase: <packetLengthFix> CHECK: Avoid CamelCase: <packetLengthVar> Signed-off-by: Valentin Vidic <Valentin.Vidic@CARNet.hr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
This reverts commit 16f1eeb6. The reason for this patch was that lustre used copy_from_user_page. Commit 76133e66 ("staging/lustre: Replace jobid acquiring with per node setting") removed that usage. So the arch restrictions can go. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
Remove restriction the lustre must be built as modules. It now works as a monolithic build. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
When the ptlrpc module is loaded, it starts the pinger thread and calls LNetNIInit which starts various threads. We don't need these threads until the module is actually being used, such as when a lustre filesystem is mounted. So move the thread creation into new ptlrpc_inc_ref() (modeled on ptlrpcd_inc_ref()), and call that when needed, such as at mount time. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
Rather than allocating a ptlrpc_thread for the stat-ahead thread, just use the task_struct provided by kthreads directly. As nothing ever waits for the sai_task, it must call do_exit() directly rather than simply return from the function. Also it cannot use kthread_should_stop() to know when to stop. There is one caller which can ask it to stop so we need a simple signaling mechanism. I've chosen to set ->sai_task to NULL when the thread should finish up. The thread notices this and cleans up and exits. lli_sa_lock is used to avoid races between waking up the process and the process exiting. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
Lustre has a 'struct ptlrpc_thread' which provides control functionality wrapped around kthreads. None of the functionality used in statahead.c requires ptlrcp_thread - it can all be done directly with kthreads. So discard the ptlrpc_thread and just use a task_struct directly. One particular change worth noting is that in the current code, the thread performs some start-up actions and then signals that it is ready to go. In the new code, the thread is first created, then the startup actions are perform, then the thread is woken up. This means there is no need to wait any more than kthread_create() already waits. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
SVC_EVENT is no longer used. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
lustre has a "Pinger" kthread which periodically pings peers to ensure all hosts are functioning. This can more easily be done using a work queue. As maintaining contact with other peers is import for keeping the filesystem running, and as the filesystem might be involved in freeing memory, it is safest to have a separate WQ_MEM_RECLAIM workqueue. The SVC_EVENT functionality to wake up the thread can be replaced with mod_delayed_work(). Also use round_jiffies_up_relative() rather than setting a minimum of 1 second delay. The PING_INTERVAL is measured in seconds so this meets the need is allow the workqueue to keep wakeups synchronized. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
The garbage collection for security contexts currently has a dedicated kthread which wakes up every 30 minutes to discard old garbage. Replace this with a simple delayed_work item on the system work queue. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
ldlm currenty has a kthread which wakes up every so often and calls ldlm_pools_recalc(). The thread is started and stopped, but no other external interactions happen. This can trivially be replaced by a delayed_work if we have ldlm_pools_recalc() reschedule the work rather than just report when to do that. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
obdclass currently maintains two lists of data structures (imports and exports), and a kthread which will free anything on either list. The thread is woken whenever anything is added to either list. This is exactly the sort of thing that workqueues exist for. So discard the zombie kthread and the lists and locks, and create a single workqueue. Each obd_import and obd_export gets a work_struct to attach to this workqueue. This requires a small change to import_sec_validate_get() which was testing if an obd_import was on the zombie list. This cannot have every safely found it to be on the list (as it could be freed asynchronously) so it must be dead code. We could use system_wq instead of creating a dedicated zombie_wq, but as we occasionally want to flush all pending work, it is a little nicer to only have to wait for our own work items. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
These allocations are performed during initialization, so they don't need GFP_NOFS. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
When the 'lustre' module is loaded, it gets a list of net devices and uses the node ids to add entropy to the prng. This means that the network interfaces need to be configured before the module is loaded, which prevents the module from being compiled into a monolithic kernel. So move this entropy addition to the moment when the interface is imported to LNet and the node id is first known. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
ln_nportals should be zero when no portals have been allocated. This ensures that memory allocation failure is handled correctly elsewhere. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
Some places in lu_object.c allow lct_owner to be NULL, implying that the code is built in to the kernel (not a module), but two places don't. This prevents us from building lustre into the kernel. So remove the requirement and always allow lct_owner to be NULL. This requires removing an "assert" that the module count is positive, but this is redundant as module_put() already does the necessary test. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
Including agl_list_empty() in the wait_event_idle() condition is pointless as the body of the loop doesn't do anything about the agl list. So if the list wasn't empty, the while loop would spin indefinitely. The test was removed in the lustre-release commit 672ab0e00d61 ("LU-3270 statahead: small fixes and cleanup"), but not in the Linux commit 5231f765 ("staging: lustre: statahead: small fixes and cleanup"). Fixes: 5231f765 ("staging: lustre: statahead: small fixes and cleanup") Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
The lustre-release patch commit bdc5bb52c554 ("LU-4933 osc: Automatically increase the max_dirty_mb") changed - if (cli->cl_dirty + PAGE_CACHE_SIZE <= cli->cl_dirty_max && + if (cli->cl_dirty_pages < cli->cl_dirty_max_pages && When this patch landed in Linux a couple of years later, it landed as - if (cli->cl_dirty + PAGE_SIZE <= cli->cl_dirty_max && + if (cli->cl_dirty_pages <= cli->cl_dirty_max_pages && which is clearly different ('<=' vs '<'), and allows cl_dirty_pages to increase beyond cl_dirty_max_pages - which causes a latter assertion to fails. Fixes: 3147b268 ("staging: lustre: osc: Automatically increase the max_dirty_mb") Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
Commit 4f016420 ("Staging: lustre: obdclass: Use kasprintf") moved some sprintf() calls earlier in the code to combine them with memory allocation and create kasprintf() calls. In one case, this code movement moved the sprintf to a location where the values being formatter were different. In particular sprintf(niduuid, "%s_%x", mgcname, i); was move from *after* the line i = 0; to a location where the value of 'i' was at least 1. This cause the wrong name to be formatted, and triggers CERROR("del MDC UUID %s failed: rc = %d\n", niduuid, rc); at unmount time. So use '0' instead of 'i'. Fixes: 4f016420 ("Staging: lustre: obdclass: Use kasprintf") Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Santha Meena Ramamoorthy authored
Remove else after a return statement as it is not useful. Issue found using checkpatch. Signed-off-by: Santha Meena Ramamoorthy <santhameena13@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Anders Roxell authored
gcc warns that function 'qbman_pull_desc_set_token' is not used. drivers/staging/fsl-mc/bus/dpio/qbman-portal.c:525:13: warning: ‘qbman_pull_desc_set_token’ defined but not used [-Wunused-function] In the current code we remove that function. Fixes: 321eecb0 ("bus: fsl-mc: dpio: add QBMan portal APIs for DPAA2") Signed-off-by: Anders Roxell <anders.roxell@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ajay Singh authored
Fix 'Avoid camelCase' issue found by checkpatch.pl script. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ajay Singh authored
Fix 'line over 80 character' issues found by checkpatch.pl script by use of temporary variable and avoided leading tab. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ajay Singh authored
Fix 'Avoid camelCase' issue found by checkpatch.pl script. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-