- 16 Feb, 2018 40 commits
-
-
Maciek Fijalkowski authored
Checkpatch.pl produced errors regarding inline keyword placement and parenthesis around returned value in 'myid'. Place inline after static keyword and remove mentioned parenthesis. Signed-off-by: Maciek Fijalkowski <macfij7@wp.pl> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Erik Liodden authored
Add identifier names to function definition arguments to comply with the kernel coding style and the naming convention in the rest of the file. Issues found by checkpatch. Signed-off-by: Erik Liodden <erik.liodden@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Santha Meena Ramamoorthy authored
Fixed the checkpatch warning "Please don't use multiple blank lines" Signed-off-by: Santha Meena Ramamoorthy <santhameena13@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Yash Omer authored
This patch fixes up a unncessary paratheses warning found by checkpatch.pl script. Signed-off-by: Yash Omer <yashomer0007@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Valentin Vidic authored
Local variable storing the new value for dio register so replace with dio_value. Update regaddr to dio_addr to match. Fixes checkpatch warnings: CHECK: Avoid CamelCase: <regValue> Signed-off-by: Valentin Vidic <Valentin.Vidic@CARNet.hr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Valentin Vidic authored
Local variable storing the new value for bandwidth register so replace with bandwidth. Fixes checkpatch warnings: CHECK: Avoid CamelCase: <newValue> Signed-off-by: Valentin Vidic <Valentin.Vidic@CARNet.hr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Valentin Vidic authored
Local variable storing the value for modulation register so replace with modulation_reg. Fixes checkpatch warnings: CHECK: Avoid CamelCase: <currentValue> 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: <fiftyOhm> CHECK: Avoid CamelCase: <twohundretOhm> 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: <antennaImpedance> 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: <powerLevel> 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: <syncValues> Signed-off-by: Valentin Vidic <Valentin.Vidic@CARNet.hr> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Jeremy Sowden authored
The driver uses a mixture of signed and unsigned integer variables for holding arrays lengths and indices, which gives rise to the following sparse warnings when the addresses of signed variables are passed to functions expecting pointers to unsigned integers: drivers/staging/ccree/cc_buffer_mgr.c:1050:46: warning: incorrect type in argument 4 (different signedness) drivers/staging/ccree/cc_buffer_mgr.c:1050:46: expected unsigned int [usertype] *lbytes drivers/staging/ccree/cc_buffer_mgr.c:1050:46: got int *<noident> drivers/staging/ccree/cc_buffer_mgr.c:1083:62: warning: incorrect type in argument 7 (different signedness) drivers/staging/ccree/cc_buffer_mgr.c:1083:62: expected unsigned int [usertype] *lbytes drivers/staging/ccree/cc_buffer_mgr.c:1083:62: got int *<noident> drivers/staging/ccree/cc_buffer_mgr.c:1092:46: warning: incorrect type in argument 4 (different signedness) drivers/staging/ccree/cc_buffer_mgr.c:1092:46: expected unsigned int [usertype] *lbytes drivers/staging/ccree/cc_buffer_mgr.c:1092:46: got int *<noident> drivers/staging/ccree/cc_buffer_mgr.c:1120:49: warning: incorrect type in argument 4 (different signedness) drivers/staging/ccree/cc_buffer_mgr.c:1120:49: expected unsigned int [usertype] *src_last_bytes drivers/staging/ccree/cc_buffer_mgr.c:1120:49: got int *<noident> drivers/staging/ccree/cc_buffer_mgr.c:1121:49: warning: incorrect type in argument 5 (different signedness) drivers/staging/ccree/cc_buffer_mgr.c:1121:49: expected unsigned int [usertype] *dst_last_bytes drivers/staging/ccree/cc_buffer_mgr.c:1121:49: got int *<noident> drivers/staging/ccree/cc_buffer_mgr.c:1124:49: warning: incorrect type in argument 2 (different signedness) drivers/staging/ccree/cc_buffer_mgr.c:1124:49: expected unsigned int [usertype] *src_last_bytes drivers/staging/ccree/cc_buffer_mgr.c:1124:49: got int *<noident> drivers/staging/ccree/cc_buffer_mgr.c:1125:44: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_buffer_mgr.c:1125:44: expected unsigned int [usertype] *dst_last_bytes drivers/staging/ccree/cc_buffer_mgr.c:1125:44: got int *<noident> drivers/staging/ccree/cc_cipher.c:697:67: warning: incorrect type in argument 6 (different signedness) drivers/staging/ccree/cc_cipher.c:697:67: expected unsigned int *seq_size drivers/staging/ccree/cc_cipher.c:697:67: got int *<noident> drivers/staging/ccree/cc_cipher.c:700:31: warning: incorrect type in argument 8 (different signedness) drivers/staging/ccree/cc_cipher.c:700:31: expected unsigned int *seq_size drivers/staging/ccree/cc_cipher.c:700:31: got int *<noident> drivers/staging/ccree/cc_hash.c:480:57: warning: incorrect type in argument 6 (different signedness) drivers/staging/ccree/cc_hash.c:480:57: expected unsigned int *seq_size drivers/staging/ccree/cc_hash.c:480:57: got int *<noident> drivers/staging/ccree/cc_hash.c:530:57: warning: incorrect type in argument 6 (different signedness) drivers/staging/ccree/cc_hash.c:530:57: expected unsigned int *seq_size drivers/staging/ccree/cc_hash.c:530:57: got int *<noident> drivers/staging/ccree/cc_hash.c:1305:43: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_hash.c:1305:43: expected unsigned int *seq_size drivers/staging/ccree/cc_hash.c:1305:43: got int *<noident> drivers/staging/ccree/cc_hash.c:1307:43: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_hash.c:1307:43: expected unsigned int *seq_size drivers/staging/ccree/cc_hash.c:1307:43: got int *<noident> drivers/staging/ccree/cc_hash.c:1317:69: warning: incorrect type in argument 6 (different signedness) drivers/staging/ccree/cc_hash.c:1317:69: expected unsigned int *seq_size drivers/staging/ccree/cc_hash.c:1317:69: got int *<noident> drivers/staging/ccree/cc_hash.c:1390:43: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_hash.c:1390:43: expected unsigned int *seq_size drivers/staging/ccree/cc_hash.c:1390:43: got int *<noident> drivers/staging/ccree/cc_hash.c:1393:43: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_hash.c:1393:43: expected unsigned int *seq_size drivers/staging/ccree/cc_hash.c:1393:43: got int *<noident> drivers/staging/ccree/cc_hash.c:1404:69: warning: incorrect type in argument 6 (different signedness) drivers/staging/ccree/cc_hash.c:1404:69: expected unsigned int *seq_size drivers/staging/ccree/cc_hash.c:1404:69: got int *<noident> drivers/staging/ccree/cc_hash.c:1469:43: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_hash.c:1469:43: expected unsigned int *seq_size drivers/staging/ccree/cc_hash.c:1469:43: got int *<noident> drivers/staging/ccree/cc_hash.c:1472:43: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_hash.c:1472:43: expected unsigned int *seq_size drivers/staging/ccree/cc_hash.c:1472:43: got int *<noident> drivers/staging/ccree/cc_hash.c:1483:69: warning: incorrect type in argument 6 (different signedness) drivers/staging/ccree/cc_hash.c:1483:69: expected unsigned int *seq_size drivers/staging/ccree/cc_hash.c:1483:69: got int *<noident> drivers/staging/ccree/cc_aead.c:2011:37: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_aead.c:2011:37: expected unsigned int *seq_size drivers/staging/ccree/cc_aead.c:2011:37: got int *<noident> drivers/staging/ccree/cc_aead.c:2017:45: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_aead.c:2017:45: expected unsigned int *seq_size drivers/staging/ccree/cc_aead.c:2017:45: got int *<noident> drivers/staging/ccree/cc_aead.c:2020:45: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_aead.c:2020:45: expected unsigned int *seq_size drivers/staging/ccree/cc_aead.c:2020:45: got int *<noident> drivers/staging/ccree/cc_aead.c:2024:44: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_aead.c:2024:44: expected unsigned int *seq_size drivers/staging/ccree/cc_aead.c:2024:44: got int *<noident> drivers/staging/ccree/cc_aead.c:2026:44: warning: incorrect type in argument 3 (different signedness) drivers/staging/ccree/cc_aead.c:2026:44: expected unsigned int *seq_size drivers/staging/ccree/cc_aead.c:2026:44: got int *<noident> This patch fixes those warnings by converting those signed variables to unsigned as follows: * changed the types of a number of index and length variables from signed to unsigned integer types. * changed the return-types of a couple of functions that return length values which are assigned to one of these variables from signed to unsigned integer types. Signed-off-by: Jeremy Sowden <jeremy@azazel.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ajay Singh authored
Refactor wilc_spi_clear_int_ext() to fix the "line over 80 char" issue reported 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
Refactor wilc_spi_read_int() to fix the line over 80 char issues reported 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
Modified wilc_spi_init() to fix the line over 80 char issues reported by checkpatch.pl script. To overcome the checkpatch.pl reported issue modified debug logs and comments used in wilc_spi_init(). Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ajay Singh authored
Refactor spi_cmd_complete() to fix the line over 80 char issues reported 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
Cleanup patch to remove the unused commented code. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ajay Singh authored
Cleanup patch to follow the comments style as per the Linux coding style. 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> Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ajay Singh authored
Fix "Avoid camelCase" issue reported by checkpatch.pl. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ajay Singh authored
Fix "Avoid camelCase" issue reported by checkpatch.pl script. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ajay Singh authored
Fix "Avoid camleCase" issue reported by checkpatch.pl script. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Reviewed-by: Claudiu Beznea <claudiu.beznea@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> Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ajay Singh authored
Fix "Avoid camelCase" issue reported by checkpatch.pl script. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Ajay Singh authored
Fix "Avoid CamelCase:" issue reported by checkpatch.pl script. Rename host_int_ParseJoinBssParam() & its variables using camelCase. Signed-off-by: Ajay Singh <ajay.kathat@microchip.com> Reviewed-by: Claudiu Beznea <claudiu.beznea@microchip.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Arnd Bergmann authored
There are two incompatible definitions of 'vchiq_instance_struct', so passing them through vchiq_initialise(), vchiq_connect() or another such interface is broken, as shown by building the driver with link-time optimizations: drivers/staging/vc04_services/interface/vchiq_arm/vchiq_if.h:129:0: error: type of 'vchiq_initialise' does not match original declaration [-Werror=lto-type-mismatch] extern VCHIQ_STATUS_T vchiq_initialise(VCHIQ_INSTANCE_T *pinstance); drivers/staging/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c:68:0: note: 'vchiq_initialise' was previously declared here VCHIQ_STATUS_T vchiq_initialise(VCHIQ_INSTANCE_T *instance_out) drivers/staging/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c:68:0: note: code may be misoptimized unless -fno-strict-aliasing is used drivers/staging/vc04_services/interface/vchiq_arm/vchiq_if.h:131:0: error: type of 'vchiq_connect' does not match original declaration [-Werror=lto-type-mismatch] extern VCHIQ_STATUS_T vchiq_connect(VCHIQ_INSTANCE_T instance); drivers/staging/vc04_services/interface/vchiq_arm/vchiq_kern_lib.c:168:0: note: 'vchiq_connect' was previously declared here VCHIQ_STATUS_T vchiq_connect(VCHIQ_INSTANCE_T instance) It's possible that only one of the two sides actually access the members, but it's clear that they need to agree on the layout. The easiest way to achieve this appears to be to merge the two files into one. I tried moving the structure definition into a shared header first, but ended up running into too many interdependencies that way. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
Corentin Labbe authored
All thoses files are not used by anybody. Lets just remove them. Signed-off-by: Corentin Labbe <clabbe@baylibre.com> Acked-by: Stefan Wahren <stefan.wahren@i2se.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
These macros are no longer used, so they can be removed. Reviewed-by: James Simmons <jsimmons@infradead.org> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
This l_wait_event_exclusive_head() will wait indefinitely if the timeout is zero. If it does wait with a timeout and times out, the timeout for next time is set to zero. The can be mapped to a call to either wait_event_idle_exclusive() or wait_event_idle_exclusive_timeout() depending in the timeout setting. The current code arranges for LIFO queuing of waiters, but include/event.h doesn't support that yet. Until it does, fall back on FIFO with wait_event_idle_exclusive{,_timeout}(). Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
This is the last remaining use of l_wait_event(). It is the only use of LWI_TIMEOUT_INTR_ALL() which has a meaning that timeouts can be interrupted. Only interrupts by "fatal" signals are allowed, so introduce l_wait_event_abortable_timeout() to support this. Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
replace l_wait_event() with wait_event_idle_timeout() and explicit loop. This approach is easier to understand. Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
Rather an using l_wait_event(), use wait_event_idle_timeout() with an explicit loop so it is easier to see what is happening. Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
Replace l_wait_event with wait_event_idle_timeout() and call the handler function explicitly. This makes it more clear what is happening. Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
We can replace l_wait_event() with wait_event_idle_timeout() here providing we call the timeout function when wait_event_idle_timeout() returns zero. As ptlrpc_expired_set() returns 1, the l_wait_event() aborts of the first timeout. Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
This use of l_wait_event() is a polling loop that re-checks every second. Make this more obvious with a while loop and wait_event_idle_timeout(). Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
When 'back_to_sleep()' is passed as the 'timeout' function, the effect is to wait indefinitely for the event, polling once after the timeout. If LWI_ON_SIGNAL_NOOP is given, then after the timeout we allow fatal signals to interrupt the wait. Make this more obvious in both places "back_to_sleep()" is used but using two explicit sleeps. The code in ptlrpcd_add_req() looks odd - why not just have one wait_event_idle()? However I believe this is a faithful transformation of the existing code. Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
This waiter currently wakes up every second to re-test if imp_flight is zero. If we ensure wakeup is called whenever imp_flight is decremented to zero, we can just have a simple wait_event_idle_timeout(). So add a wake_up_all to the one place it is missing, and simplify the wait_event. Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
Two places that LWI_TIMEOUT_INTERVAL() is used, the outcome is a simple polling loop that polls every second for some event (with a limit). So write a simple loop to make this more apparent. Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
If a signal-callback (lwi_on_signal) is set without lwi_allow_intr, as is the case in ldlm_completion_ast(), the behavior depends on the timeout set. If a timeout is set, then signals are ignored. If the timeout is reached, the timeout handler is called. If the timeout handler return 0, which ldlm_expired_completion_wait() always does, the l_wait_event() switches to exactly the behavior if no timeout was set. If no timeout is set, then "fatal" signals are not ignored. If one arrives the callback is run, but as the callback is empty in this case, that is not relevant. This can be simplified to: if a timeout is wanted wait_event_idle_timeout() if that timed out, call the timeout handler l_wait_event_abortable() i.e. the code always waits indefinitely. Sometimes it performs a non-abortable wait first. Sometimes it doesn't. But it only aborts before the condition is true if it is signaled. This doesn't quite agree with the comments and debug messages. Now that we call the timeout handler (ldlm_expired_completion_wait()) wait directly, we can pass the two args directly rather then using a special-purpose struct. Reviewed-by: Patrick Farrell <paf@cray.com> Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
NeilBrown authored
If l_wait_event() is given a function to be called on a signal, but no timeout or timeout handler, then the intr function is simply called at the end if the wait was aborted by a signal. So a simpler way to write the code (in the one place this case is used) it to open-code the body of the function after the wait_event, if -ERESTARTSYS was returned. Reviewed-by: James Simmons <jsimmons@infradead.org> Signed-off-by: NeilBrown <neilb@suse.com> Reviewed-by: Patrick Farrell <paf@cray.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-