Interrupts must be disabled prior to calling usb_hcd_unlink_urb_from_ep.
If interrupts are not disabled, it can potentially lead to a deadlock.
The deadlock is readily reproduceable on a slower (ARM based) device
such as the TI Pandaboard.
Signed-off-by: Bart Westgeest <bart@elbrys.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This 2nd batch of implicit module.h users only appeared when we
removed the unnecessary module.h from include/linux/miscdevice.h
[The 1st batch is already present in Greg's staging tree.]
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Lots of drivers have in the past expected the presence of basic things
like THIS_MODULE and EXPORT_SYMBOL. With the header cleanup, they wont
have these. Call out the include explicitly.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Revert changes in definitions that were submitted on May 11 2011 and
committed on June 7 2011. No reason for the change in these values was
given in the patch comment, it broke compatibility with older
versions, and was difficult to detect by the simultaneous move of the
lines of code.
Signed-off-by: Alexander Thomas <alexander.thomas@esaturnus.com>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Lots of people expect module.h to just "be there" without
any #include effort. But we are crushing that. So fix those
files in staging relying on implicit module.h presence.
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* git://git.kernel.org/pub/scm/linux/kernel/git/lwfinger/r8192E: (61 commits)
staging: rtl8192e: Fix compilation warnings
staging: rtl8192e: Fix unload/reload problem
staging: rtl8192e: Remove dead code associated with CONFIG_RTL_RFKILL
staging: rtl8192e: Remove conditional code associated with EEPROM_OLD_FORMAT_SUPPORT
staging: rtl8192e: Remove dead code associated with EFUSE_REPG_WORKAROUND
staging: rtl8192e: Remove LOOP_TEST as parameter
staging: rtl8192e: Remove dead code associated with CONFIG_FW_SETCHAN
staging: rtl8192e: Remove dead code associated with CONFIG_RTLWIFI_DEBUGFS
staging: rtl8192e: Remove dead code associated with _RTL8192_EXT_PATCH_
staging: rtl8192e: Remove ifdefs for CONFIG_RTLLIB_DEBUG
staging: rtl8192e: Remove dead code associated with RTL819x_DEBUG
staging: rtl8192e: Remove dead code associated with _ENABLE_SW_BEACON
staging: rtl8192e: Remove dead code associated with CONFIG_CRYPTO_HMAC
staging: rtl8192e: Remove dead code associated with CONFIG_BT_30
staging: rtl8192e: Remove dead code associated with ENABLE_NULL_PT_DEBUG
staging: rtl8192e: Remove dead code associated with CONFIG_64BIT_DMA
staging: rtl8192e: Remove dead code associated with CONFIG_RTLLIB_CRYPT_TKIP
staging: rtl8192e: Remove dead code associated with IRQF_SHARED
staging: rtl8192e: Remove dead code associated with CONFIG_CFG_80211
staging: rtl8192e: Remove dead code associated with BUILT_IN_CRYPTO
...
Test the just-initialized value rather than some other one.
The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@r@
identifier x,y,f!={PTR_ERR,ERR_PTR,ERR_CAST};
statement S;
@@
x = f(...);
(
if (\(x == NULL\|IS_ERR(x)\)) S
|
*if (\(y == NULL\|IS_ERR(y)\))
{ ... when != x
return ...; }
)
// </smpl>
Signed-off-by: Julia Lawall <julia@diku.dk>
Acked-by: David Chang <dchang@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Initial version of USBIP protocol document.
Signed-off-by: David Chang <dchang@suse.com>
Acked-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
mkdir() could fail, so we should check its return value.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Fix brace positioning and spaces at the start of lines in order to
comply with the kernel coding style.
Signed-off-by: Akshay Joshi <me@akshayjoshi.com>
Acked-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Change a missed reference to the `list' command, and update the output
from `usbip bind ...' and `usbip list -r ...'
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
The remote devices listed are, technically, exportable and not
necessarily exported.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Change spacing to provide better indentation for readability.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
A bug that I created due to using simply expanding variables in the
makefiles. Although only unexpanded paths are at issue here, I decided
to use recursively expanding variables on all of the parameterized
values.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Change and add new usbip_net_ prefix to every function in the network
code for easier identification.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Reorganize, rename [for clarity and to remove stub_driver
references], modify output messages, and cleanup coding style;
nevertheless, the actual implementation is pretty much untouched.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Fix usbip printk format warning for size_t:
drivers/staging/usbip/stub_tx.c:236: warning: format '%lu' expects type 'long unsigned int', but argument 4 has type 'size_t'
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
When build userspace code, got the following error message:
make[2]: Entering directory `/usr/src/staging-2.6/drivers/staging/usbip/userspace/src'
CC usbip.o
...
CCLD usbip
CC usbipd.o
usbipd.c:30:25: fatal error: stub_driver.h: No such file or directory
compilation terminated.
make[2]: *** [usbipd.o] Error 1
make[2]: Leaving directory `/usr/src/staging-2.6/drivers/staging/usbip/userspace/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/staging-2.6/drivers/staging/usbip/userspace'
make: *** [all] Error 2
Due to commit 756d6726 and a16941ae, stub_driver had been changed
into host_driver, so update header filename and functions name to
fix these build errors
Signed-off-by: David Chang <dchang@novell.com>
CC: Joe Perches <joe@perches.com>
Cc: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Fix regression problem in linux-next: post_reset and pre_reset are no longer
included in linux-next while they are in linux-3.0rc5.
Signed-off-by: Arjan Mels <arjan.mels@gmx.net>
Cc: usbip-devel <usbip-devel@lists.sourceforge.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
When unbinding a device on the host which was still attached on the
client, I got a NULL pointer dereference on the client. This turned out
to be due to kthread_stop() being called on an already dead kthread.
Here is how I was able to reproduce the problem:
server:# usbip bind -b 1-2
client:# usbip attach -h server -b 1-2
server:# usbip unbind -b 1-2
This patch fixes the problem by checking the kthread before attempting
to kill it, as it is done on the opposite side in
stub_shutdown_connection().
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Cc: stable <stable@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Change package name to usbip-utils, email address to linux-usb, and
bump minor version number.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Change messges to debug, and fix a few coding style issues.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Officially change stub_driver to usbip_host_driver. And, reorganize
usbip_host_driver.c while also cleaning up coding style.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Delay the printing of the output header until the list is received
from the remote host. This allows notification that the host does not
have any exportable devices.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Edit dbg and normal output messages for consistency and better
feedback.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Modify unbind to use libsysfs, and include a check to verify that the
device is actually using usbip-host before proceeding. The output
messages have been changed to be consistent with `usbip bind'.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Rewrite functions in terms of libsysfs, which eliminates a lot of
helper functions simplifying the file layout. Now, the two processes
taking place here, an unbind of the old driver and a bind of
usbip-host, are single functions and have been renamed along with the
controlling function. A check to see if the device is already bound to
usbip-host is now included.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Removes all of the helper functions that used a lot of hard-coded
values intead of libsysfs. Most of these functions were unused
anyway.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
When a bad option is given, display a message stating such and output
usage. When a bad command is given, output command help.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
The library should not be displaying random messages intermixed with
those from the programs that use them. So, instead, change all of the
output from the library to debug only, and allow the programs to
decide what to tell the user. This also changes the messages to use
the same form, which makes understanding them easier.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Remove the library version of usbip.h because its sole purpose was to
include other headers, which is bad practice. Also modify include
guards for consistency.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Add option for logging with syslog, and default to use stderr for
error and info messages.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Set the program name to "libusbip" to identify that the message is
from the library code.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Remove unnecessary headers from the file, and add the now missing
headers into the files that actually need them.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Provide better abstraction for easier modification, and align the
macros for readability. Remove notice() because it is not used.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Modify $FILES to account for the new directory layout. Also, sort the
list of files within the variable to make it human-readable.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Update examples to correspond with the new usbip-utils; edit grammar;
and cleanup format for consistency.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Inclusion of the usb.ids file is redundant. USBIDS_DIR is set in
configure.ac to a default of /usr/share/hwdata/. This can be
overridden using `./configure --with-usbids-dir=<dir>'.
Signed-off-by: matt mooney <mfm@muteddisk.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Use memcpy() function to save port status instead of
a handwritten for loop.
Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
At the beginning of vhci_hub_control() function the port
status is saved to show what are the differences between the
previous and the new status. Change the dump function to
really show the differences in the status bit changes: put
a '+' sign before the symbolic name of a bit where a bit
was set, a '-' sign where the bit was cleared and a SPACE
where the bit was not changed. This is similar to the way
"diff -u" shows the changes and easy to understand.
Signed-off-by: Márton Németh <nm127@freemail.hu>
Cc: Joe Perches <joe@perches.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
The wIndex parameter of vhci_hub_control() is always zero when the
request type is GetHubDescriptor, see drivers/usb/core/hub.c::get_hub_descriptor()
and Universal Serial Bus Specification revision 2.0 (April 27, 2000) Section
11.24.2.5 "Get Hub Descriptor". This means the variable rhport will not contain
any useful index. Only use valid rhport values.
Signed-off-by: Márton Németh <nm127@freemail.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>