Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
ddb6a1aa
Commit
ddb6a1aa
authored
Aug 08, 2003
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Merge
bk://kernel.bkbits.net/gregkh/linux/linus-2.6
into home.osdl.org:/home/torvalds/v2.5/linux
parents
8d33ca95
e0efa2db
Changes
24
Hide whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
89 additions
and
154 deletions
+89
-154
drivers/isdn/hisax/st5481_b.c
drivers/isdn/hisax/st5481_b.c
+2
-2
drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
+1
-1
drivers/usb/core/hcd-pci.c
drivers/usb/core/hcd-pci.c
+2
-1
drivers/usb/core/hcd.c
drivers/usb/core/hcd.c
+2
-1
drivers/usb/core/hub.c
drivers/usb/core/hub.c
+1
-3
drivers/usb/core/usb.c
drivers/usb/core/usb.c
+29
-108
drivers/usb/gadget/net2280.c
drivers/usb/gadget/net2280.c
+0
-1
drivers/usb/host/ehci-dbg.c
drivers/usb/host/ehci-dbg.c
+2
-2
drivers/usb/host/ehci-mem.c
drivers/usb/host/ehci-mem.c
+1
-0
drivers/usb/host/ohci-hcd.c
drivers/usb/host/ohci-hcd.c
+1
-3
drivers/usb/host/ohci-mem.c
drivers/usb/host/ohci-mem.c
+1
-0
drivers/usb/host/ohci-pci.c
drivers/usb/host/ohci-pci.c
+5
-6
drivers/usb/host/ohci-sa1111.c
drivers/usb/host/ohci-sa1111.c
+1
-0
drivers/usb/host/uhci-hcd.c
drivers/usb/host/uhci-hcd.c
+1
-0
drivers/usb/net/pegasus.c
drivers/usb/net/pegasus.c
+3
-3
drivers/usb/net/rtl8150.c
drivers/usb/net/rtl8150.c
+12
-2
drivers/usb/net/usbnet.c
drivers/usb/net/usbnet.c
+8
-2
drivers/usb/serial/ftdi_sio.c
drivers/usb/serial/ftdi_sio.c
+7
-0
drivers/usb/serial/ftdi_sio.h
drivers/usb/serial/ftdi_sio.h
+6
-0
drivers/usb/serial/pl2303.c
drivers/usb/serial/pl2303.c
+0
-9
drivers/usb/serial/usb-serial.c
drivers/usb/serial/usb-serial.c
+0
-1
drivers/usb/storage/initializers.c
drivers/usb/storage/initializers.c
+3
-3
drivers/usb/storage/initializers.h
drivers/usb/storage/initializers.h
+0
-2
drivers/usb/usb-skeleton.c
drivers/usb/usb-skeleton.c
+1
-4
No files found.
drivers/isdn/hisax/st5481_b.c
View file @
ddb6a1aa
...
...
@@ -245,7 +245,7 @@ static void st5481B_mode(struct st5481_bcs *bcs, int mode)
}
}
static
int
__devinit
st5481_setup_b_out
(
struct
st5481_bcs
*
bcs
)
static
int
st5481_setup_b_out
(
struct
st5481_bcs
*
bcs
)
{
struct
usb_device
*
dev
=
bcs
->
adapter
->
usb_dev
;
struct
usb_host_interface
*
altsetting
;
...
...
@@ -279,7 +279,7 @@ static void st5481_release_b_out(struct st5481_bcs *bcs)
st5481_release_isocpipes
(
b_out
->
urb
);
}
int
__devinit
st5481_setup_b
(
struct
st5481_bcs
*
bcs
)
int
st5481_setup_b
(
struct
st5481_bcs
*
bcs
)
{
int
retval
;
...
...
drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c
View file @
ddb6a1aa
...
...
@@ -788,7 +788,7 @@ static void ttusb_iso_irq(struct urb *urb, struct pt_regs *ptregs)
}
}
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0)
usb_submit_urb
(
urb
,
GFP_
KERNEL
);
usb_submit_urb
(
urb
,
GFP_
ATOMIC
);
#endif
}
...
...
drivers/usb/core/hcd-pci.c
View file @
ddb6a1aa
...
...
@@ -147,7 +147,8 @@ int usb_hcd_pci_probe (struct pci_dev *dev, const struct pci_device_id *id)
hcd
->
description
=
driver
->
description
;
hcd
->
pdev
=
dev
;
hcd
->
self
.
bus_name
=
pci_name
(
dev
);
hcd
->
product_desc
=
dev
->
dev
.
name
;
if
(
hcd
->
product_desc
==
NULL
)
hcd
->
product_desc
=
"USB Host Controller"
;
hcd
->
self
.
controller
=
&
dev
->
dev
;
hcd
->
controller
=
hcd
->
self
.
controller
;
...
...
drivers/usb/core/hcd.c
View file @
ddb6a1aa
...
...
@@ -1307,7 +1307,8 @@ static void hcd_endpoint_disable (struct usb_device *udev, int endpoint)
/* ignore urbs for other endpoints */
if
(
usb_pipeendpoint
(
tmp
)
!=
epnum
)
continue
;
if
((
tmp
^
endpoint
)
&
USB_DIR_IN
)
/* NOTE assumption that only ep0 is a control endpoint */
if
(
epnum
!=
0
&&
((
tmp
^
endpoint
)
&
USB_DIR_IN
))
continue
;
/* another cpu may be in hcd, spinning on hcd_data_lock
...
...
drivers/usb/core/hub.c
View file @
ddb6a1aa
...
...
@@ -597,10 +597,8 @@ static int hub_probe(struct usb_interface *intf, const struct usb_device_id *id)
usb_set_intfdata
(
intf
,
hub
);
if
(
hub_configure
(
hub
,
endpoint
)
>=
0
)
{
strcpy
(
intf
->
dev
.
name
,
"Hub"
);
if
(
hub_configure
(
hub
,
endpoint
)
>=
0
)
return
0
;
}
hub_disconnect
(
intf
);
return
-
ENODEV
;
...
...
drivers/usb/core/usb.c
View file @
ddb6a1aa
...
...
@@ -978,68 +978,6 @@ int usb_set_address(struct usb_device *dev)
return
retval
;
}
/* improve on the default device description, if we can ... and
* while we're at it, maybe show the vendor and product strings.
*/
static
void
set_device_description
(
struct
usb_device
*
dev
)
{
void
*
buf
;
int
mfgr
=
dev
->
descriptor
.
iManufacturer
;
int
prod
=
dev
->
descriptor
.
iProduct
;
int
vendor_id
=
dev
->
descriptor
.
idVendor
;
int
product_id
=
dev
->
descriptor
.
idProduct
;
char
*
mfgr_str
,
*
prod_str
;
/* set default; keep it if there are no strings, or kmalloc fails */
sprintf
(
dev
->
dev
.
name
,
"USB device %04x:%04x"
,
vendor_id
,
product_id
);
if
(
!
(
buf
=
kmalloc
(
256
*
2
,
GFP_KERNEL
)))
return
;
prod_str
=
(
char
*
)
buf
;
mfgr_str
=
(
char
*
)
buf
+
256
;
if
(
prod
&&
usb_string
(
dev
,
prod
,
prod_str
,
256
)
>
0
)
{
#ifdef DEBUG
dev_printk
(
KERN_INFO
,
&
dev
->
dev
,
"Product: %s
\n
"
,
prod_str
);
#endif
}
else
{
prod_str
=
0
;
}
if
(
mfgr
&&
usb_string
(
dev
,
mfgr
,
mfgr_str
,
256
)
>
0
)
{
#ifdef DEBUG
dev_printk
(
KERN_INFO
,
&
dev
->
dev
,
"Manufacturer: %s
\n
"
,
mfgr_str
);
#endif
}
else
{
mfgr_str
=
0
;
}
/* much like pci ... describe as either:
* - both strings: 'product descr (vendor descr)'
* - product only: 'product descr (USB device vvvv:pppp)'
* - vendor only: 'USB device vvvv:pppp (vendor descr)'
* - neither string: 'USB device vvvv:pppp'
*/
if
(
prod_str
&&
mfgr_str
)
{
snprintf
(
dev
->
dev
.
name
,
sizeof
dev
->
dev
.
name
,
"%s (%s)"
,
prod_str
,
mfgr_str
);
}
else
if
(
prod_str
)
{
snprintf
(
dev
->
dev
.
name
,
sizeof
dev
->
dev
.
name
,
"%s (USB device %04x:%04x)"
,
prod_str
,
vendor_id
,
product_id
);
}
else
if
(
mfgr_str
)
{
snprintf
(
dev
->
dev
.
name
,
sizeof
dev
->
dev
.
name
,
"USB device %04x:%04x (%s)"
,
vendor_id
,
product_id
,
mfgr_str
);
}
kfree
(
buf
);
}
/*
* By the time we get here, we chose a new device address
* and is in the default state. We need to identify the thing and
...
...
@@ -1056,7 +994,7 @@ static void set_device_description (struct usb_device *dev)
#define SET_ADDRESS_RETRYS 2
int
usb_new_device
(
struct
usb_device
*
dev
,
struct
device
*
parent
)
{
int
err
=
0
;
int
err
=
-
EINVAL
;
int
i
;
int
j
;
...
...
@@ -1098,7 +1036,7 @@ int usb_new_device(struct usb_device *dev, struct device *parent)
i
=
8
;
break
;
default:
return
-
EINVAL
;
goto
fail
;
}
dev
->
epmaxpacketin
[
0
]
=
i
;
dev
->
epmaxpacketout
[
0
]
=
i
;
...
...
@@ -1112,12 +1050,10 @@ int usb_new_device(struct usb_device *dev, struct device *parent)
wait_ms
(
200
);
}
if
(
err
<
0
)
{
dev_err
(
&
dev
->
dev
,
"USB device not accepting new address=%d (error=%d)
\n
"
,
dev_err
(
&
dev
->
dev
,
"device not accepting address %d, error %d
\n
"
,
dev
->
devnum
,
err
);
dev
->
state
=
USB_STATE_DEFAULT
;
clear_bit
(
dev
->
devnum
,
dev
->
bus
->
devmap
.
devicemap
);
dev
->
devnum
=
-
1
;
return
1
;
goto
fail
;
}
wait_ms
(
10
);
/* Let the SET_ADDRESS settle */
...
...
@@ -1130,13 +1066,8 @@ int usb_new_device(struct usb_device *dev, struct device *parent)
}
if
(
err
<
8
)
{
if
(
err
<
0
)
dev_err
(
&
dev
->
dev
,
"USB device not responding, giving up (error=%d)
\n
"
,
err
);
else
dev_err
(
&
dev
->
dev
,
"USB device descriptor short read (expected %i, got %i)
\n
"
,
8
,
err
);
clear_bit
(
dev
->
devnum
,
dev
->
bus
->
devmap
.
devicemap
);
dev
->
devnum
=
-
1
;
return
1
;
dev_err
(
&
dev
->
dev
,
"device descriptor read/8, error %d
\n
"
,
err
);
goto
fail
;
}
if
(
dev
->
speed
==
USB_SPEED_FULL
)
{
dev
->
epmaxpacketin
[
0
]
=
dev
->
descriptor
.
bMaxPacketSize0
;
...
...
@@ -1147,43 +1078,41 @@ int usb_new_device(struct usb_device *dev, struct device *parent)
err
=
usb_get_device_descriptor
(
dev
);
if
(
err
<
(
signed
)
sizeof
(
dev
->
descriptor
))
{
if
(
err
<
0
)
dev_err
(
&
dev
->
dev
,
"unable to get device descriptor (error=%d)
\n
"
,
err
);
else
dev_err
(
&
dev
->
dev
,
"USB device descriptor short read (expected %Zi, got %i)
\n
"
,
sizeof
(
dev
->
descriptor
),
err
);
clear_bit
(
dev
->
devnum
,
dev
->
bus
->
devmap
.
devicemap
);
dev
->
devnum
=
-
1
;
return
1
;
dev_err
(
&
dev
->
dev
,
"device descriptor read/all, error %d
\n
"
,
err
);
goto
fail
;
}
err
=
usb_get_configuration
(
dev
);
if
(
err
<
0
)
{
dev_err
(
&
dev
->
dev
,
"unable to get device %d configuration (error=%d)
\n
"
,
dev
->
devnum
,
err
);
clear_bit
(
dev
->
devnum
,
dev
->
bus
->
devmap
.
devicemap
);
dev
->
devnum
=
-
1
;
return
1
;
goto
fail
;
}
/* we set the default configuration here */
/* choose and set the configuration here */
if
(
dev
->
descriptor
.
bNumConfigurations
!=
1
)
{
dev_info
(
&
dev
->
dev
,
"configuration #%d chosen from %d choices
\n
"
,
dev
->
config
[
0
].
desc
.
bConfigurationValue
,
dev
->
descriptor
.
bNumConfigurations
);
}
err
=
usb_set_configuration
(
dev
,
dev
->
config
[
0
].
desc
.
bConfigurationValue
);
if
(
err
)
{
dev_err
(
&
dev
->
dev
,
"failed to set device %d default configuration (error=%d)
\n
"
,
dev
->
devnum
,
err
);
clear_bit
(
dev
->
devnum
,
dev
->
bus
->
devmap
.
devicemap
);
dev
->
devnum
=
-
1
;
return
1
;
goto
fail
;
}
/* USB device state == configured ... tell the world! */
dev_dbg
(
&
dev
->
dev
,
"new device strings: Mfr=%d, Product=%d, SerialNumber=%d
\n
"
,
dev
->
descriptor
.
iManufacturer
,
dev
->
descriptor
.
iProduct
,
dev
->
descriptor
.
iSerialNumber
);
set_device_description
(
dev
);
#ifdef DEBUG
if
(
dev
->
descriptor
.
iProduct
)
usb_show_string
(
dev
,
"Product"
,
dev
->
descriptor
.
iProduct
);
if
(
dev
->
descriptor
.
iManufacturer
)
usb_show_string
(
dev
,
"Manufacturer"
,
dev
->
descriptor
.
iManufacturer
);
if
(
dev
->
descriptor
.
iSerialNumber
)
usb_show_string
(
dev
,
"SerialNumber"
,
dev
->
descriptor
.
iSerialNumber
);
#endif
...
...
@@ -1191,7 +1120,7 @@ int usb_new_device(struct usb_device *dev, struct device *parent)
/* put into sysfs, with device and config specific files */
err
=
device_add
(
&
dev
->
dev
);
if
(
err
)
return
err
;
goto
fail
;
usb_create_driverfs_dev_files
(
dev
);
/* Register all of the interfaces for this device with the driver core.
...
...
@@ -1208,20 +1137,6 @@ int usb_new_device(struct usb_device *dev, struct device *parent)
sprintf
(
&
interface
->
dev
.
bus_id
[
0
],
"%d-%s:%d"
,
dev
->
bus
->
busnum
,
dev
->
devpath
,
desc
->
bInterfaceNumber
);
if
(
!
desc
->
iInterface
||
usb_string
(
dev
,
desc
->
iInterface
,
interface
->
dev
.
name
,
sizeof
interface
->
dev
.
name
)
<=
0
)
{
/* typically devices won't bother with interface
* descriptions; this is the normal case. an
* interface's driver might describe it better.
* (also: iInterface is per-altsetting ...)
*/
sprintf
(
&
interface
->
dev
.
name
[
0
],
"usb-%s-%s interface %d"
,
dev
->
bus
->
bus_name
,
dev
->
devpath
,
desc
->
bInterfaceNumber
);
}
dev_dbg
(
&
dev
->
dev
,
"%s - registering interface %s
\n
"
,
__FUNCTION__
,
interface
->
dev
.
bus_id
);
device_add
(
&
interface
->
dev
);
usb_create_driverfs_intf_files
(
interface
);
...
...
@@ -1231,6 +1146,12 @@ int usb_new_device(struct usb_device *dev, struct device *parent)
usbfs_add_device
(
dev
);
return
0
;
fail:
dev
->
state
=
USB_STATE_DEFAULT
;
clear_bit
(
dev
->
devnum
,
dev
->
bus
->
devmap
.
devicemap
);
dev
->
devnum
=
-
1
;
usb_put_dev
(
dev
);
return
err
;
}
/**
...
...
drivers/usb/gadget/net2280.c
View file @
ddb6a1aa
...
...
@@ -2535,7 +2535,6 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id)
dev
->
gadget
.
ops
=
&
net2280_ops
;
strcpy
(
dev
->
gadget
.
dev
.
bus_id
,
pci_name
(
pdev
));
strcpy
(
dev
->
gadget
.
dev
.
name
,
pdev
->
dev
.
name
);
dev
->
gadget
.
dev
.
parent
=
&
pdev
->
dev
;
dev
->
gadget
.
dev
.
dma_mask
=
pdev
->
dev
.
dma_mask
;
dev
->
gadget
.
name
=
driver_name
;
...
...
drivers/usb/host/ehci-dbg.c
View file @
ddb6a1aa
...
...
@@ -591,8 +591,8 @@ show_registers (struct class_device *class_dev, char *buf)
/* Capability Registers */
i
=
readw
(
&
ehci
->
caps
->
hci_version
);
temp
=
snprintf
(
next
,
size
,
"%s
\n
EHCI %x.%02x, hcd state %d (driver "
DRIVER_VERSION
")
\n
"
,
hcd
->
pdev
->
dev
.
name
,
"
PCI device
%s
\n
EHCI %x.%02x, hcd state %d (driver "
DRIVER_VERSION
")
\n
"
,
pci_name
(
hcd
->
pdev
)
,
i
>>
8
,
i
&
0x0ff
,
ehci
->
hcd
.
state
);
size
-=
temp
;
next
+=
temp
;
...
...
drivers/usb/host/ehci-mem.c
View file @
ddb6a1aa
...
...
@@ -44,6 +44,7 @@ static struct usb_hcd *ehci_hcd_alloc (void)
kmalloc
(
sizeof
(
struct
ehci_hcd
),
GFP_KERNEL
);
if
(
ehci
!=
0
)
{
memset
(
ehci
,
0
,
sizeof
(
struct
ehci_hcd
));
ehci
->
hcd
.
product_desc
=
"EHCI Host Controller"
;
return
&
ehci
->
hcd
;
}
return
0
;
...
...
drivers/usb/host/ohci-hcd.c
View file @
ddb6a1aa
...
...
@@ -412,8 +412,7 @@ static int hc_reset (struct ohci_hcd *ohci)
/* Disable HC interrupts */
writel
(
OHCI_INTR_MIE
,
&
ohci
->
regs
->
intrdisable
);
ohci_dbg
(
ohci
,
"USB HC reset_hc %s: ctrl = 0x%x ;
\n
"
,
hcd_to_bus
(
&
ohci
->
hcd
)
->
bus_name
,
ohci_dbg
(
ohci
,
"reset, control = 0x%x
\n
"
,
readl
(
&
ohci
->
regs
->
control
));
/* Reset USB (needed by some controllers); RemoteWakeupConnected
...
...
@@ -548,7 +547,6 @@ static int hc_start (struct ohci_hcd *ohci)
return
-
ENODEV
;
}
create_debug_files
(
ohci
);
return
0
;
}
...
...
drivers/usb/host/ohci-mem.c
View file @
ddb6a1aa
...
...
@@ -30,6 +30,7 @@ static struct usb_hcd *ohci_hcd_alloc (void)
ohci
=
(
struct
ohci_hcd
*
)
kmalloc
(
sizeof
*
ohci
,
GFP_KERNEL
);
if
(
ohci
!=
0
)
{
memset
(
ohci
,
0
,
sizeof
(
struct
ohci_hcd
));
ohci
->
hcd
.
product_desc
=
"OHCI Host Controller"
;
return
&
ohci
->
hcd
;
}
return
0
;
...
...
drivers/usb/host/ohci-pci.c
View file @
ddb6a1aa
...
...
@@ -101,6 +101,7 @@ ohci_pci_start (struct usb_hcd *hcd)
ohci_stop
(
hcd
);
return
-
EBUSY
;
}
create_debug_files
(
ohci
);
#ifdef DEBUG
ohci_dump
(
ohci
,
1
);
...
...
@@ -115,6 +116,7 @@ static int ohci_pci_suspend (struct usb_hcd *hcd, u32 state)
struct
ohci_hcd
*
ohci
=
hcd_to_ohci
(
hcd
);
unsigned
long
flags
;
u16
cmd
;
u32
tmp
;
if
((
ohci
->
hc_control
&
OHCI_CTRL_HCFS
)
!=
OHCI_USB_OPER
)
{
ohci_dbg
(
ohci
,
"can't suspend (state is %s)
\n
"
,
...
...
@@ -156,15 +158,12 @@ static int ohci_pci_suspend (struct usb_hcd *hcd, u32 state)
(
void
)
readl
(
&
ohci
->
regs
->
control
);
mdelay
(
500
);
/* No schedule here ! */
switch
(
readl
(
&
ohci
->
regs
->
control
)
&
OHCI_CTRL_HCFS
)
{
tmp
=
readl
(
&
ohci
->
regs
->
control
)
|
OHCI_CTRL_HCFS
;
switch
(
tmp
)
{
case
OHCI_USB_RESET
:
ohci_dbg
(
ohci
,
"suspend->reset ?
\n
"
);
break
;
case
OHCI_USB_RESUME
:
ohci_dbg
(
ohci
,
"suspend->resume ?
\n
"
);
break
;
case
OHCI_USB_OPER
:
ohci_
dbg
(
ohci
,
"suspend->operational ?
\n
"
);
ohci_
err
(
ohci
,
"can't suspend; hcfs %d
\n
"
,
tmp
);
break
;
case
OHCI_USB_SUSPEND
:
ohci_dbg
(
ohci
,
"suspended
\n
"
);
...
...
drivers/usb/host/ohci-sa1111.c
View file @
ddb6a1aa
...
...
@@ -296,6 +296,7 @@ ohci_sa1111_start (struct usb_hcd *hcd)
ohci_stop
(
hcd
);
return
-
EBUSY
;
}
create_debug_files
(
ohci
);
#ifdef DEBUG
ohci_dump
(
ohci
,
1
);
...
...
drivers/usb/host/uhci-hcd.c
View file @
ddb6a1aa
...
...
@@ -2460,6 +2460,7 @@ static struct usb_hcd *uhci_hcd_alloc(void)
return
NULL
;
memset
(
uhci
,
0
,
sizeof
(
*
uhci
));
uhci
->
hcd
.
product_desc
=
"UHCI Host Controller"
;
return
&
uhci
->
hcd
;
}
...
...
drivers/usb/net/pegasus.c
View file @
ddb6a1aa
...
...
@@ -121,7 +121,7 @@ static int get_registers(pegasus_t * pegasus, __u16 indx, __u16 size,
char
*
buffer
;
DECLARE_WAITQUEUE
(
wait
,
current
);
buffer
=
kmalloc
(
size
,
GFP_
DMA
);
buffer
=
kmalloc
(
size
,
GFP_
KERNEL
);
if
(
!
buffer
)
{
warn
(
"%s: looks like we're out of memory"
,
__FUNCTION__
);
return
-
ENOMEM
;
...
...
@@ -170,7 +170,7 @@ static int set_registers(pegasus_t * pegasus, __u16 indx, __u16 size,
char
*
buffer
;
DECLARE_WAITQUEUE
(
wait
,
current
);
buffer
=
kmalloc
(
size
,
GFP_
DMA
);
buffer
=
kmalloc
(
size
,
GFP_
KERNEL
);
if
(
!
buffer
)
{
warn
(
"%s: looks like we're out of memory"
,
__FUNCTION__
);
return
-
ENOMEM
;
...
...
@@ -218,7 +218,7 @@ static int set_register(pegasus_t * pegasus, __u16 indx, __u8 data)
char
*
tmp
;
DECLARE_WAITQUEUE
(
wait
,
current
);
tmp
=
kmalloc
(
1
,
GFP_
DMA
);
tmp
=
kmalloc
(
1
,
GFP_
KERNEL
);
if
(
!
tmp
)
{
warn
(
"%s: looks like we're out of memory"
,
__FUNCTION__
);
return
-
ENOMEM
;
...
...
drivers/usb/net/rtl8150.c
View file @
ddb6a1aa
...
...
@@ -51,6 +51,7 @@
#define PHY_GO 0x40
#define MII_TIMEOUT 10
#define INTBUFSIZE 8
#define RTL8150_REQT_READ 0xc0
#define RTL8150_REQT_WRITE 0x40
...
...
@@ -98,7 +99,7 @@ struct rtl8150 {
struct
usb_ctrlrequest
dr
;
int
intr_interval
;
u16
rx_creg
;
u8
intr_buff
[
8
]
;
u8
*
intr_buff
;
u8
phy
;
};
...
...
@@ -646,7 +647,7 @@ static int rtl8150_open(struct net_device *netdev)
if
((
res
=
usb_submit_urb
(
dev
->
rx_urb
,
GFP_KERNEL
)))
warn
(
"%s: rx_urb submit failed: %d"
,
__FUNCTION__
,
res
);
usb_fill_int_urb
(
dev
->
intr_urb
,
dev
->
udev
,
usb_rcvintpipe
(
dev
->
udev
,
3
),
dev
->
intr_buff
,
sizeof
(
dev
->
intr_buff
)
,
intr_callback
,
dev
->
intr_buff
,
INTBUFSIZE
,
intr_callback
,
dev
,
dev
->
intr_interval
);
if
((
res
=
usb_submit_urb
(
dev
->
intr_urb
,
GFP_KERNEL
)))
warn
(
"%s: intr_urb submit failed: %d"
,
__FUNCTION__
,
res
);
...
...
@@ -790,8 +791,15 @@ static int rtl8150_probe(struct usb_interface *intf,
}
else
memset
(
dev
,
0
,
sizeof
(
rtl8150_t
));
dev
->
intr_buff
=
kmalloc
(
INTBUFSIZE
,
GFP_KERNEL
);
if
(
!
dev
->
intr_buff
)
{
kfree
(
dev
);
return
-
ENOMEM
;
}
netdev
=
alloc_etherdev
(
0
);
if
(
!
netdev
)
{
kfree
(
dev
->
intr_buff
);
kfree
(
dev
);
err
(
"Oh boy, out of memory again?!?"
);
return
-
ENOMEM
;
...
...
@@ -843,6 +851,7 @@ static int rtl8150_probe(struct usb_interface *intf,
out1:
free_all_urbs
(
dev
);
out:
kfree
(
dev
->
intr_buff
);
kfree
(
netdev
);
kfree
(
dev
);
return
-
EIO
;
...
...
@@ -862,6 +871,7 @@ static void rtl8150_disconnect(struct usb_interface *intf)
if
(
dev
->
rx_skb
)
dev_kfree_skb
(
dev
->
rx_skb
);
kfree
(
dev
->
netdev
);
kfree
(
dev
->
intr_buff
);
kfree
(
dev
);
}
}
...
...
drivers/usb/net/usbnet.c
View file @
ddb6a1aa
...
...
@@ -2048,8 +2048,11 @@ static int usbnet_stop (struct net_device *net)
dev
->
wait
=
0
;
remove_wait_queue
(
&
unlink_wakeup
,
&
wait
);
// deferred work (task, timer, softirq) must also stop
flush_scheduled_work
();
/* deferred work (task, timer, softirq) must also stop.
* can't flush_scheduled_work() until we drop rtnl (later),
* else workers could deadlock; so make workers a NOP.
*/
dev
->
flags
=
0
;
del_timer_sync
(
&
dev
->
delay
);
tasklet_kill
(
&
dev
->
bh
);
...
...
@@ -2488,6 +2491,9 @@ static void usbnet_disconnect (struct usb_interface *intf)
unregister_netdev
(
dev
->
net
);
/* we don't hold rtnl here ... */
flush_scheduled_work
();
if
(
dev
->
driver_info
->
unbind
)
dev
->
driver_info
->
unbind
(
dev
,
intf
);
...
...
drivers/usb/serial/ftdi_sio.c
View file @
ddb6a1aa
...
...
@@ -17,6 +17,10 @@
* See http://ftdi-usb-sio.sourceforge.net for upto date testing info
* and extra documentation
*
* (05/Aug/2003) Ian Abbott
* Added VID/PID for ID TECH IDT1221U USB to RS-232 adapter.
* VID/PID provided by Steve Briggs.
*
* (23/Jul/2003) Ian Abbott
* Added PIDs for CrystalFontz 547, 633, 631, 635, 640 and 640 from
* Wayne Wylupski.
...
...
@@ -324,6 +328,7 @@ static struct usb_device_id id_table_8U232AM [] = {
{
USB_DEVICE_VER
(
SEALEVEL_VID
,
SEALEVEL_2803_6_PID
,
0
,
0x3ff
)
},
{
USB_DEVICE_VER
(
SEALEVEL_VID
,
SEALEVEL_2803_7_PID
,
0
,
0x3ff
)
},
{
USB_DEVICE_VER
(
SEALEVEL_VID
,
SEALEVEL_2803_8_PID
,
0
,
0x3ff
)
},
{
USB_DEVICE_VER
(
IDTECH_VID
,
IDTECH_IDT1221U_PID
,
0
,
0x3ff
)
},
{
}
/* Terminating entry */
};
...
...
@@ -395,6 +400,7 @@ static struct usb_device_id id_table_FT232BM [] = {
{
USB_DEVICE_VER
(
SEALEVEL_VID
,
SEALEVEL_2803_6_PID
,
0x400
,
0xffff
)
},
{
USB_DEVICE_VER
(
SEALEVEL_VID
,
SEALEVEL_2803_7_PID
,
0x400
,
0xffff
)
},
{
USB_DEVICE_VER
(
SEALEVEL_VID
,
SEALEVEL_2803_8_PID
,
0x400
,
0xffff
)
},
{
USB_DEVICE_VER
(
IDTECH_VID
,
IDTECH_IDT1221U_PID
,
0x400
,
0xffff
)
},
{
}
/* Terminating entry */
};
...
...
@@ -479,6 +485,7 @@ static struct usb_device_id id_table_combined [] = {
{
USB_DEVICE
(
SEALEVEL_VID
,
SEALEVEL_2803_6_PID
)
},
{
USB_DEVICE
(
SEALEVEL_VID
,
SEALEVEL_2803_7_PID
)
},
{
USB_DEVICE
(
SEALEVEL_VID
,
SEALEVEL_2803_8_PID
)
},
{
USB_DEVICE
(
IDTECH_VID
,
IDTECH_IDT1221U_PID
)
},
{
USB_DEVICE_VER
(
FTDI_VID
,
FTDI_HE_TIRA1_PID
,
0x400
,
0xffff
)
},
{
USB_DEVICE
(
FTDI_VID
,
FTDI_USB_UIRT_PID
)
},
{
}
/* Terminating entry */
...
...
drivers/usb/serial/ftdi_sio.h
View file @
ddb6a1aa
...
...
@@ -127,6 +127,12 @@
/* http://home.earthlink.net/~jrhees/USBUIRT/index.htm */
#define FTDI_USB_UIRT_PID 0xF850
/* Product Id */
/*
* Definitions for ID TECH (www.idt-net.com) devices
*/
#define IDTECH_VID 0x0ACD
/* ID TECH Vendor ID */
#define IDTECH_IDT1221U_PID 0x0300
/* IDT1221U USB to RS-232 adapter */
/* Commands */
#define FTDI_SIO_RESET 0
/* Reset the port */
#define FTDI_SIO_MODEM_CTRL 1
/* Set the modem control register */
...
...
drivers/usb/serial/pl2303.c
View file @
ddb6a1aa
...
...
@@ -285,12 +285,6 @@ static void pl2303_set_termios (struct usb_serial_port *port, struct termios *ol
buf
[
0
],
buf
[
1
],
buf
[
2
],
buf
[
3
],
buf
[
4
],
buf
[
5
],
buf
[
6
]);
i
=
usb_control_msg
(
serial
->
dev
,
usb_sndctrlpipe
(
serial
->
dev
,
0
),
VENDOR_WRITE_REQUEST
,
VENDOR_WRITE_REQUEST_TYPE
,
0
,
1
,
NULL
,
0
,
100
);
dbg
(
"0x40:1:0:1 %d"
,
i
);
if
(
cflag
&
CSIZE
)
{
switch
(
cflag
&
CSIZE
)
{
case
CS5
:
buf
[
6
]
=
5
;
break
;
...
...
@@ -428,9 +422,6 @@ static int pl2303_open (struct usb_serial_port *port, struct file *filp)
SOUP
(
VENDOR_WRITE_REQUEST_TYPE
,
VENDOR_WRITE_REQUEST
,
0x0404
,
1
);
FISH
(
VENDOR_READ_REQUEST_TYPE
,
VENDOR_READ_REQUEST
,
0x8484
,
0
);
FISH
(
VENDOR_READ_REQUEST_TYPE
,
VENDOR_READ_REQUEST
,
0x8383
,
0
);
SOUP
(
VENDOR_WRITE_REQUEST_TYPE
,
VENDOR_WRITE_REQUEST
,
0
,
1
);
SOUP
(
VENDOR_WRITE_REQUEST_TYPE
,
VENDOR_WRITE_REQUEST
,
1
,
0xc0
);
SOUP
(
VENDOR_WRITE_REQUEST_TYPE
,
VENDOR_WRITE_REQUEST
,
2
,
4
);
/* Setup termios */
if
(
port
->
tty
)
{
...
...
drivers/usb/serial/usb-serial.c
View file @
ddb6a1aa
...
...
@@ -1238,7 +1238,6 @@ int usb_serial_probe(struct usb_interface *interface,
port
->
dev
.
bus
=
&
usb_serial_bus_type
;
snprintf
(
&
port
->
dev
.
bus_id
[
0
],
sizeof
(
port
->
dev
.
bus_id
),
"ttyUSB%d"
,
port
->
number
);
snprintf
(
&
port
->
dev
.
name
[
0
],
sizeof
(
port
->
dev
.
name
),
"usb serial port %d"
,
port
->
number
);
dbg
(
"%s - registering %s"
,
__FUNCTION__
,
port
->
dev
.
bus_id
);
device_register
(
&
port
->
dev
);
}
...
...
drivers/usb/storage/initializers.c
View file @
ddb6a1aa
...
...
@@ -55,7 +55,6 @@ int usb_stor_euscsi_init(struct us_data *us)
0x0C
,
USB_RECIP_INTERFACE
|
USB_TYPE_VENDOR
,
0x01
,
0x0
,
us
->
iobuf
,
0x1
,
5
*
HZ
);
US_DEBUGP
(
"-- result is %d
\n
"
,
result
);
US_DEBUGP
(
"-- data afterwards is %d
\n
"
,
us
->
iobuf
[
0
]);
return
0
;
}
...
...
@@ -67,6 +66,7 @@ int usb_stor_ucr61s2b_init(struct us_data *us)
struct
bulk_cb_wrap
*
bcb
=
(
struct
bulk_cb_wrap
*
)
us
->
iobuf
;
struct
bulk_cs_wrap
*
bcs
=
(
struct
bulk_cs_wrap
*
)
us
->
iobuf
;
int
res
,
partial
;
static
char
init_string
[]
=
"
\xec\x0a\x06\x00
$PCCHIPS"
;
US_DEBUGP
(
"Sending UCR-61S2B initialization packet...
\n
"
);
...
...
@@ -74,9 +74,9 @@ int usb_stor_ucr61s2b_init(struct us_data *us)
bcb
->
Tag
=
0
;
bcb
->
DataTransferLength
=
cpu_to_le32
(
0
);
bcb
->
Flags
=
bcb
->
Lun
=
0
;
bcb
->
Length
=
sizeof
(
UCR61S2B_INIT
)
;
bcb
->
Length
=
sizeof
(
init_string
)
-
1
;
memset
(
bcb
->
CDB
,
0
,
sizeof
(
bcb
->
CDB
));
memcpy
(
bcb
->
CDB
,
UCR61S2B_INIT
,
sizeof
(
UCR61S2B_INIT
)
);
memcpy
(
bcb
->
CDB
,
init_string
,
sizeof
(
init_string
)
-
1
);
res
=
usb_stor_bulk_transfer_buf
(
us
,
us
->
send_bulk_pipe
,
bcb
,
US_BULK_CB_WRAP_LEN
,
&
partial
);
...
...
drivers/usb/storage/initializers.h
View file @
ddb6a1aa
...
...
@@ -49,8 +49,6 @@ int usb_stor_euscsi_init(struct us_data *us);
int
sddr09_init
(
struct
us_data
*
us
);
#endif
#define UCR61S2B_INIT "\xec\x0a\x06\x00$PCCHIPS"
/* This function is required to activate all four slots on the UCR-61S2B
* flash reader */
int
usb_stor_ucr61s2b_init
(
struct
us_data
*
us
);
drivers/usb/usb-skeleton.c
View file @
ddb6a1aa
...
...
@@ -526,7 +526,6 @@ static int skel_probe(struct usb_interface *interface, const struct usb_device_i
init_MUTEX
(
&
dev
->
sem
);
dev
->
udev
=
udev
;
dev
->
interface
=
interface
;
dev
->
minor
=
interface
->
minor
;
/* set up the endpoint information */
/* check out the endpoints */
...
...
@@ -606,6 +605,7 @@ static int skel_probe(struct usb_interface *interface, const struct usb_device_i
goto
error
;
}
dev
->
minor
=
interface
->
minor
;
/* let the user know what node this device is now attached to */
info
(
"USB Skeleton device now attached to USBSkel-%d"
,
dev
->
minor
);
...
...
@@ -641,9 +641,6 @@ static void skel_disconnect(struct usb_interface *interface)
down
(
&
dev
->
sem
);
/* disable open() */
interface
->
minor
=
-
1
;
minor
=
dev
->
minor
;
/* give back our minor */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment