Commit b9974dc6bddd41fbdc2583f196a34fbcebd8b089
Exists in
master
and in
4 other branches
Merge branch 'linus' into cpus4096
Showing 28 changed files Side-by-side Diff
- Documentation/usb/gadget_serial.txt
- Documentation/usb/proc_usb_info.txt
- Documentation/usb/usbmon.txt
- arch/powerpc/kernel/misc_32.S
- arch/powerpc/lib/rheap.c
- drivers/char/xilinx_hwicap/buffer_icap.c
- drivers/char/xilinx_hwicap/buffer_icap.h
- drivers/char/xilinx_hwicap/fifo_icap.c
- drivers/char/xilinx_hwicap/fifo_icap.h
- drivers/char/xilinx_hwicap/xilinx_hwicap.c
- drivers/char/xilinx_hwicap/xilinx_hwicap.h
- drivers/i2c/busses/i2c-cpm.c
- drivers/i2c/busses/i2c-s3c2410.c
- drivers/staging/Kconfig
- drivers/usb/class/usbtmc.c
- drivers/usb/core/driver.c
- drivers/usb/gadget/f_rndis.c
- drivers/usb/serial/ftdi_sio.c
- drivers/usb/serial/ftdi_sio.h
- drivers/usb/serial/pl2303.c
- drivers/usb/serial/pl2303.h
- drivers/usb/serial/ti_usb_3410_5052.c
- drivers/usb/storage/unusual_devs.h
- fs/cifs/cifssmb.c
- fs/ocfs2/ocfs2_fs.h
- fs/ocfs2/xattr.c
- include/linux/usb/ch9.h
- lib/dynamic_printk.c
Documentation/usb/gadget_serial.txt
... | ... | @@ -114,11 +114,11 @@ |
114 | 114 | Then you must load the gadget serial driver. To load it as an |
115 | 115 | ACM device (recommended for interoperability), do this: |
116 | 116 | |
117 | - modprobe g_serial use_acm=1 | |
117 | + modprobe g_serial | |
118 | 118 | |
119 | 119 | To load it as a vendor specific bulk in/out device, do this: |
120 | 120 | |
121 | - modprobe g_serial | |
121 | + modprobe g_serial use_acm=0 | |
122 | 122 | |
123 | 123 | This will also automatically load the underlying gadget peripheral |
124 | 124 | controller driver. This must be done each time you reboot the gadget |
Documentation/usb/proc_usb_info.txt
... | ... | @@ -49,8 +49,10 @@ |
49 | 49 | |
50 | 50 | These files can be read as binary data. The binary data consists |
51 | 51 | of first the device descriptor, then the descriptors for each |
52 | -configuration of the device. That information is also shown in | |
53 | -text form by the /proc/bus/usb/devices file, described later. | |
52 | +configuration of the device. Multi-byte fields in the device and | |
53 | +configuration descriptors, but not other descriptors, are converted | |
54 | +to host endianness by the kernel. This information is also shown | |
55 | +in text form by the /proc/bus/usb/devices file, described later. | |
54 | 56 | |
55 | 57 | These files may also be used to write user-level drivers for the USB |
56 | 58 | devices. You would open the /proc/bus/usb/BBB/DDD file read/write, |
Documentation/usb/usbmon.txt
... | ... | @@ -34,11 +34,12 @@ |
34 | 34 | Verify that bus sockets are present. |
35 | 35 | |
36 | 36 | # ls /sys/kernel/debug/usbmon |
37 | -0s 0t 0u 1s 1t 1u 2s 2t 2u 3s 3t 3u 4s 4t 4u | |
37 | +0s 0u 1s 1t 1u 2s 2t 2u 3s 3t 3u 4s 4t 4u | |
38 | 38 | # |
39 | 39 | |
40 | -Now you can choose to either use the sockets numbered '0' (to capture packets on | |
41 | -all buses), and skip to step #3, or find the bus used by your device with step #2. | |
40 | +Now you can choose to either use the socket '0u' (to capture packets on all | |
41 | +buses), and skip to step #3, or find the bus used by your device with step #2. | |
42 | +This allows to filter away annoying devices that talk continuously. | |
42 | 43 | |
43 | 44 | 2. Find which bus connects to the desired device |
44 | 45 | |
... | ... | @@ -99,8 +100,9 @@ |
99 | 100 | |
100 | 101 | Here is the list of words, from left to right: |
101 | 102 | |
102 | -- URB Tag. This is used to identify URBs is normally a kernel mode address | |
103 | - of the URB structure in hexadecimal. | |
103 | +- URB Tag. This is used to identify URBs, and is normally an in-kernel address | |
104 | + of the URB structure in hexadecimal, but can be a sequence number or any | |
105 | + other unique string, within reason. | |
104 | 106 | |
105 | 107 | - Timestamp in microseconds, a decimal number. The timestamp's resolution |
106 | 108 | depends on available clock, and so it can be much worse than a microsecond |
arch/powerpc/kernel/misc_32.S
... | ... | @@ -486,13 +486,13 @@ |
486 | 486 | tlbsx 0,r3 |
487 | 487 | mfspr r4,SPRN_MAS1 /* check valid */ |
488 | 488 | andis. r3,r4,MAS1_VALID@h |
489 | - beqlr | |
489 | + beq 1f | |
490 | 490 | rlwinm r4,r4,0,1,31 |
491 | 491 | mtspr SPRN_MAS1,r4 |
492 | 492 | tlbwe |
493 | 493 | msync |
494 | 494 | isync |
495 | - wrtee r10 | |
495 | +1: wrtee r10 | |
496 | 496 | blr |
497 | 497 | #endif /* CONFIG_FSL_BOOKE */ |
498 | 498 |
arch/powerpc/lib/rheap.c
drivers/char/xilinx_hwicap/buffer_icap.c
... | ... | @@ -21,9 +21,6 @@ |
21 | 21 | * INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
22 | 22 | * FOR A PARTICULAR PURPOSE. |
23 | 23 | * |
24 | - * Xilinx products are not intended for use in life support appliances, | |
25 | - * devices, or systems. Use in such applications is expressly prohibited. | |
26 | - * | |
27 | 24 | * (c) Copyright 2003-2008 Xilinx Inc. |
28 | 25 | * All rights reserved. |
29 | 26 | * |
drivers/char/xilinx_hwicap/buffer_icap.h
... | ... | @@ -21,9 +21,6 @@ |
21 | 21 | * INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
22 | 22 | * FOR A PARTICULAR PURPOSE. |
23 | 23 | * |
24 | - * Xilinx products are not intended for use in life support appliances, | |
25 | - * devices, or systems. Use in such applications is expressly prohibited. | |
26 | - * | |
27 | 24 | * (c) Copyright 2003-2008 Xilinx Inc. |
28 | 25 | * All rights reserved. |
29 | 26 | * |
drivers/char/xilinx_hwicap/fifo_icap.c
... | ... | @@ -21,9 +21,6 @@ |
21 | 21 | * INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
22 | 22 | * FOR A PARTICULAR PURPOSE. |
23 | 23 | * |
24 | - * Xilinx products are not intended for use in life support appliances, | |
25 | - * devices, or systems. Use in such applications is expressly prohibited. | |
26 | - * | |
27 | 24 | * (c) Copyright 2007-2008 Xilinx Inc. |
28 | 25 | * All rights reserved. |
29 | 26 | * |
drivers/char/xilinx_hwicap/fifo_icap.h
... | ... | @@ -21,9 +21,6 @@ |
21 | 21 | * INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
22 | 22 | * FOR A PARTICULAR PURPOSE. |
23 | 23 | * |
24 | - * Xilinx products are not intended for use in life support appliances, | |
25 | - * devices, or systems. Use in such applications is expressly prohibited. | |
26 | - * | |
27 | 24 | * (c) Copyright 2007-2008 Xilinx Inc. |
28 | 25 | * All rights reserved. |
29 | 26 | * |
drivers/char/xilinx_hwicap/xilinx_hwicap.c
... | ... | @@ -21,9 +21,6 @@ |
21 | 21 | * INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
22 | 22 | * FOR A PARTICULAR PURPOSE. |
23 | 23 | * |
24 | - * Xilinx products are not intended for use in life support appliances, | |
25 | - * devices, or systems. Use in such applications is expressly prohibited. | |
26 | - * | |
27 | 24 | * (c) Copyright 2002 Xilinx Inc., Systems Engineering Group |
28 | 25 | * (c) Copyright 2004 Xilinx Inc., Systems Engineering Group |
29 | 26 | * (c) Copyright 2007-2008 Xilinx Inc. |
drivers/char/xilinx_hwicap/xilinx_hwicap.h
... | ... | @@ -21,9 +21,6 @@ |
21 | 21 | * INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
22 | 22 | * FOR A PARTICULAR PURPOSE. |
23 | 23 | * |
24 | - * Xilinx products are not intended for use in life support appliances, | |
25 | - * devices, or systems. Use in such applications is expressly prohibited. | |
26 | - * | |
27 | 24 | * (c) Copyright 2003-2007 Xilinx Inc. |
28 | 25 | * All rights reserved. |
29 | 26 | * |
drivers/i2c/busses/i2c-cpm.c
drivers/i2c/busses/i2c-s3c2410.c
... | ... | @@ -56,6 +56,7 @@ |
56 | 56 | struct s3c24xx_i2c { |
57 | 57 | spinlock_t lock; |
58 | 58 | wait_queue_head_t wait; |
59 | + unsigned int suspended:1; | |
59 | 60 | |
60 | 61 | struct i2c_msg *msg; |
61 | 62 | unsigned int msg_num; |
... | ... | @@ -507,7 +508,7 @@ |
507 | 508 | unsigned long timeout; |
508 | 509 | int ret; |
509 | 510 | |
510 | - if (!(readl(i2c->regs + S3C2410_IICCON) & S3C2410_IICCON_IRQEN)) | |
511 | + if (i2c->suspended) | |
511 | 512 | return -EIO; |
512 | 513 | |
513 | 514 | ret = s3c24xx_i2c_set_master(i2c); |
514 | 515 | |
515 | 516 | |
... | ... | @@ -986,17 +987,26 @@ |
986 | 987 | } |
987 | 988 | |
988 | 989 | #ifdef CONFIG_PM |
990 | +static int s3c24xx_i2c_suspend_late(struct platform_device *dev, | |
991 | + pm_message_t msg) | |
992 | +{ | |
993 | + struct s3c24xx_i2c *i2c = platform_get_drvdata(dev); | |
994 | + i2c->suspended = 1; | |
995 | + return 0; | |
996 | +} | |
997 | + | |
989 | 998 | static int s3c24xx_i2c_resume(struct platform_device *dev) |
990 | 999 | { |
991 | 1000 | struct s3c24xx_i2c *i2c = platform_get_drvdata(dev); |
992 | 1001 | |
993 | - if (i2c != NULL) | |
994 | - s3c24xx_i2c_init(i2c); | |
1002 | + i2c->suspended = 0; | |
1003 | + s3c24xx_i2c_init(i2c); | |
995 | 1004 | |
996 | 1005 | return 0; |
997 | 1006 | } |
998 | 1007 | |
999 | 1008 | #else |
1009 | +#define s3c24xx_i2c_suspend_late NULL | |
1000 | 1010 | #define s3c24xx_i2c_resume NULL |
1001 | 1011 | #endif |
1002 | 1012 | |
... | ... | @@ -1005,6 +1015,7 @@ |
1005 | 1015 | static struct platform_driver s3c2410_i2c_driver = { |
1006 | 1016 | .probe = s3c24xx_i2c_probe, |
1007 | 1017 | .remove = s3c24xx_i2c_remove, |
1018 | + .suspend_late = s3c24xx_i2c_suspend_late, | |
1008 | 1019 | .resume = s3c24xx_i2c_resume, |
1009 | 1020 | .driver = { |
1010 | 1021 | .owner = THIS_MODULE, |
... | ... | @@ -1015,6 +1026,7 @@ |
1015 | 1026 | static struct platform_driver s3c2440_i2c_driver = { |
1016 | 1027 | .probe = s3c24xx_i2c_probe, |
1017 | 1028 | .remove = s3c24xx_i2c_remove, |
1029 | + .suspend_late = s3c24xx_i2c_suspend_late, | |
1018 | 1030 | .resume = s3c24xx_i2c_resume, |
1019 | 1031 | .driver = { |
1020 | 1032 | .owner = THIS_MODULE, |
drivers/staging/Kconfig
... | ... | @@ -22,6 +22,8 @@ |
22 | 22 | If in doubt, say N here. |
23 | 23 | |
24 | 24 | |
25 | +if STAGING | |
26 | + | |
25 | 27 | config STAGING_EXCLUDE_BUILD |
26 | 28 | bool "Exclude Staging drivers from being built" if STAGING |
27 | 29 | default y |
... | ... | @@ -62,4 +64,5 @@ |
62 | 64 | source "drivers/staging/poch/Kconfig" |
63 | 65 | |
64 | 66 | endif # !STAGING_EXCLUDE_BUILD |
67 | +endif # STAGING |
drivers/usb/class/usbtmc.c
drivers/usb/core/driver.c
... | ... | @@ -279,7 +279,9 @@ |
279 | 279 | * altsetting means creating new endpoint device entries). |
280 | 280 | * When either of these happens, defer the Set-Interface. |
281 | 281 | */ |
282 | - if (!error && intf->dev.power.status == DPM_ON) | |
282 | + if (intf->cur_altsetting->desc.bAlternateSetting == 0) | |
283 | + ; /* Already in altsetting 0 so skip Set-Interface */ | |
284 | + else if (!error && intf->dev.power.status == DPM_ON) | |
283 | 285 | usb_set_interface(udev, intf->altsetting[0]. |
284 | 286 | desc.bInterfaceNumber, 0); |
285 | 287 | else |
drivers/usb/gadget/f_rndis.c
... | ... | @@ -651,6 +651,8 @@ |
651 | 651 | fs_in_desc.bEndpointAddress; |
652 | 652 | hs_out_desc.bEndpointAddress = |
653 | 653 | fs_out_desc.bEndpointAddress; |
654 | + hs_notify_desc.bEndpointAddress = | |
655 | + fs_notify_desc.bEndpointAddress; | |
654 | 656 | |
655 | 657 | /* copy descriptors, and track endpoint copies */ |
656 | 658 | f->hs_descriptors = usb_copy_descriptors(eth_hs_function); |
... | ... | @@ -662,6 +664,8 @@ |
662 | 664 | f->hs_descriptors, &hs_in_desc); |
663 | 665 | rndis->hs.out = usb_find_endpoint(eth_hs_function, |
664 | 666 | f->hs_descriptors, &hs_out_desc); |
667 | + rndis->hs.notify = usb_find_endpoint(eth_hs_function, | |
668 | + f->hs_descriptors, &hs_notify_desc); | |
665 | 669 | } |
666 | 670 | |
667 | 671 | rndis->port.open = rndis_open; |
drivers/usb/serial/ftdi_sio.c
... | ... | @@ -143,6 +143,7 @@ |
143 | 143 | static struct usb_device_id id_table_combined [] = { |
144 | 144 | { USB_DEVICE(FTDI_VID, FTDI_AMC232_PID) }, |
145 | 145 | { USB_DEVICE(FTDI_VID, FTDI_CANUSB_PID) }, |
146 | + { USB_DEVICE(FTDI_VID, FTDI_CANDAPTER_PID) }, | |
146 | 147 | { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_0_PID) }, |
147 | 148 | { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_1_PID) }, |
148 | 149 | { USB_DEVICE(FTDI_VID, FTDI_SCS_DEVICE_2_PID) }, |
... | ... | @@ -166,6 +167,7 @@ |
166 | 167 | { USB_DEVICE(FTDI_VID, FTDI_OPENDCC_PID) }, |
167 | 168 | { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_IOBOARD_PID) }, |
168 | 169 | { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_MINI_IOBOARD_PID) }, |
170 | + { USB_DEVICE(FTDI_VID, FTDI_SPROG_II) }, | |
169 | 171 | { USB_DEVICE(FTDI_VID, FTDI_XF_632_PID) }, |
170 | 172 | { USB_DEVICE(FTDI_VID, FTDI_XF_634_PID) }, |
171 | 173 | { USB_DEVICE(FTDI_VID, FTDI_XF_547_PID) }, |
drivers/usb/serial/ftdi_sio.h
... | ... | @@ -40,6 +40,9 @@ |
40 | 40 | /* AlphaMicro Components AMC-232USB01 device */ |
41 | 41 | #define FTDI_AMC232_PID 0xFF00 /* Product Id */ |
42 | 42 | |
43 | +/* www.candapter.com Ewert Energy Systems CANdapter device */ | |
44 | +#define FTDI_CANDAPTER_PID 0x9F80 /* Product Id */ | |
45 | + | |
43 | 46 | /* SCS HF Radio Modems PID's (http://www.scs-ptc.com) */ |
44 | 47 | /* the VID is the standard ftdi vid (FTDI_VID) */ |
45 | 48 | #define FTDI_SCS_DEVICE_0_PID 0xD010 /* SCS PTC-IIusb */ |
... | ... | @@ -74,6 +77,9 @@ |
74 | 77 | |
75 | 78 | /* OpenDCC (www.opendcc.de) product id */ |
76 | 79 | #define FTDI_OPENDCC_PID 0xBFD8 |
80 | + | |
81 | +/* Sprog II (Andrew Crosland's SprogII DCC interface) */ | |
82 | +#define FTDI_SPROG_II 0xF0C8 | |
77 | 83 | |
78 | 84 | /* www.crystalfontz.com devices - thanx for providing free devices for evaluation ! */ |
79 | 85 | /* they use the ftdi chipset for the USB interface and the vendor id is the same */ |
drivers/usb/serial/pl2303.c
... | ... | @@ -91,6 +91,8 @@ |
91 | 91 | { USB_DEVICE(WS002IN_VENDOR_ID, WS002IN_PRODUCT_ID) }, |
92 | 92 | { USB_DEVICE(COREGA_VENDOR_ID, COREGA_PRODUCT_ID) }, |
93 | 93 | { USB_DEVICE(YCCABLE_VENDOR_ID, YCCABLE_PRODUCT_ID) }, |
94 | + { USB_DEVICE(SUPERIAL_VENDOR_ID, SUPERIAL_PRODUCT_ID) }, | |
95 | + { USB_DEVICE(HP_VENDOR_ID, HP_LD220_PRODUCT_ID) }, | |
94 | 96 | { } /* Terminating entry */ |
95 | 97 | }; |
96 | 98 |
drivers/usb/serial/pl2303.h
... | ... | @@ -110,4 +110,12 @@ |
110 | 110 | /* Y.C. Cable U.S.A., Inc - USB to RS-232 */ |
111 | 111 | #define YCCABLE_VENDOR_ID 0x05ad |
112 | 112 | #define YCCABLE_PRODUCT_ID 0x0fba |
113 | + | |
114 | +/* "Superial" USB - Serial */ | |
115 | +#define SUPERIAL_VENDOR_ID 0x5372 | |
116 | +#define SUPERIAL_PRODUCT_ID 0x2303 | |
117 | + | |
118 | +/* Hewlett-Packard LD220-HP POS Pole Display */ | |
119 | +#define HP_VENDOR_ID 0x03f0 | |
120 | +#define HP_LD220_PRODUCT_ID 0x3524 |
drivers/usb/serial/ti_usb_3410_5052.c
... | ... | @@ -16,56 +16,6 @@ |
16 | 16 | * For questions or problems with this driver, contact Texas Instruments |
17 | 17 | * technical support, or Al Borchers <alborchers@steinerpoint.com>, or |
18 | 18 | * Peter Berger <pberger@brimson.com>. |
19 | - * | |
20 | - * This driver needs this hotplug script in /etc/hotplug/usb/ti_usb_3410_5052 | |
21 | - * or in /etc/hotplug.d/usb/ti_usb_3410_5052.hotplug to set the device | |
22 | - * configuration. | |
23 | - * | |
24 | - * #!/bin/bash | |
25 | - * | |
26 | - * BOOT_CONFIG=1 | |
27 | - * ACTIVE_CONFIG=2 | |
28 | - * | |
29 | - * if [[ "$ACTION" != "add" ]] | |
30 | - * then | |
31 | - * exit | |
32 | - * fi | |
33 | - * | |
34 | - * CONFIG_PATH=/sys${DEVPATH%/?*}/bConfigurationValue | |
35 | - * | |
36 | - * if [[ 0`cat $CONFIG_PATH` -ne $BOOT_CONFIG ]] | |
37 | - * then | |
38 | - * exit | |
39 | - * fi | |
40 | - * | |
41 | - * PRODUCT=${PRODUCT%/?*} # delete version | |
42 | - * VENDOR_ID=`printf "%d" 0x${PRODUCT%/?*}` | |
43 | - * PRODUCT_ID=`printf "%d" 0x${PRODUCT#*?/}` | |
44 | - * | |
45 | - * PARAM_PATH=/sys/module/ti_usb_3410_5052/parameters | |
46 | - * | |
47 | - * function scan() { | |
48 | - * s=$1 | |
49 | - * shift | |
50 | - * for i | |
51 | - * do | |
52 | - * if [[ $s -eq $i ]] | |
53 | - * then | |
54 | - * return 0 | |
55 | - * fi | |
56 | - * done | |
57 | - * return 1 | |
58 | - * } | |
59 | - * | |
60 | - * IFS=$IFS, | |
61 | - * | |
62 | - * if (scan $VENDOR_ID 1105 `cat $PARAM_PATH/vendor_3410` && | |
63 | - * scan $PRODUCT_ID 13328 `cat $PARAM_PATH/product_3410`) || | |
64 | - * (scan $VENDOR_ID 1105 `cat $PARAM_PATH/vendor_5052` && | |
65 | - * scan $PRODUCT_ID 20562 20818 20570 20575 `cat $PARAM_PATH/product_5052`) | |
66 | - * then | |
67 | - * echo $ACTIVE_CONFIG > $CONFIG_PATH | |
68 | - * fi | |
69 | 19 | */ |
70 | 20 | |
71 | 21 | #include <linux/kernel.h> |
72 | 22 | |
... | ... | @@ -457,9 +407,10 @@ |
457 | 407 | goto free_tdev; |
458 | 408 | } |
459 | 409 | |
460 | - /* the second configuration must be set (in sysfs by hotplug script) */ | |
410 | + /* the second configuration must be set */ | |
461 | 411 | if (dev->actconfig->desc.bConfigurationValue == TI_BOOT_CONFIG) { |
462 | - status = -ENODEV; | |
412 | + status = usb_driver_set_configuration(dev, TI_ACTIVE_CONFIG); | |
413 | + status = status ? status : -ENODEV; | |
463 | 414 | goto free_tdev; |
464 | 415 | } |
465 | 416 |
drivers/usb/storage/unusual_devs.h
... | ... | @@ -167,8 +167,22 @@ |
167 | 167 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
168 | 168 | US_FL_FIX_CAPACITY ), |
169 | 169 | |
170 | +/* Reported by Ozan Sener <themgzzy@gmail.com> */ | |
171 | +UNUSUAL_DEV( 0x0421, 0x0060, 0x0551, 0x0551, | |
172 | + "Nokia", | |
173 | + "3500c", | |
174 | + US_SC_DEVICE, US_PR_DEVICE, NULL, | |
175 | + US_FL_FIX_CAPACITY ), | |
176 | + | |
177 | +/* Reported by CSECSY Laszlo <boobaa@frugalware.org> */ | |
178 | +UNUSUAL_DEV( 0x0421, 0x0063, 0x0001, 0x0601, | |
179 | + "Nokia", | |
180 | + "Nokia 3109c", | |
181 | + US_SC_DEVICE, US_PR_DEVICE, NULL, | |
182 | + US_FL_FIX_CAPACITY ), | |
183 | + | |
170 | 184 | /* Patch for Nokia 5310 capacity */ |
171 | -UNUSUAL_DEV( 0x0421, 0x006a, 0x0000, 0x0591, | |
185 | +UNUSUAL_DEV( 0x0421, 0x006a, 0x0000, 0x0701, | |
172 | 186 | "Nokia", |
173 | 187 | "5310", |
174 | 188 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
fs/cifs/cifssmb.c
... | ... | @@ -3983,7 +3983,8 @@ |
3983 | 3983 | |
3984 | 3984 | node->flags = le16_to_cpu(pSMBr->DFSFlags); |
3985 | 3985 | if (is_unicode) { |
3986 | - __le16 *tmp = kmalloc(strlen(searchName)*2, GFP_KERNEL); | |
3986 | + __le16 *tmp = kmalloc(strlen(searchName)*2 + 2, | |
3987 | + GFP_KERNEL); | |
3987 | 3988 | cifsConvertToUCS((__le16 *) tmp, searchName, |
3988 | 3989 | PATH_MAX, nls_codepage, remap); |
3989 | 3990 | node->path_consumed = hostlen_fromUCS(tmp, |
fs/ocfs2/ocfs2_fs.h
... | ... | @@ -86,7 +86,8 @@ |
86 | 86 | #define OCFS2_CLEAR_INCOMPAT_FEATURE(sb,mask) \ |
87 | 87 | OCFS2_SB(sb)->s_feature_incompat &= ~(mask) |
88 | 88 | |
89 | -#define OCFS2_FEATURE_COMPAT_SUPP OCFS2_FEATURE_COMPAT_BACKUP_SB | |
89 | +#define OCFS2_FEATURE_COMPAT_SUPP (OCFS2_FEATURE_COMPAT_BACKUP_SB \ | |
90 | + | OCFS2_FEATURE_COMPAT_JBD2_SB) | |
90 | 91 | #define OCFS2_FEATURE_INCOMPAT_SUPP (OCFS2_FEATURE_INCOMPAT_LOCAL_MOUNT \ |
91 | 92 | | OCFS2_FEATURE_INCOMPAT_SPARSE_ALLOC \ |
92 | 93 | | OCFS2_FEATURE_INCOMPAT_INLINE_DATA \ |
... | ... | @@ -151,6 +152,11 @@ |
151 | 152 | * has backup superblocks. |
152 | 153 | */ |
153 | 154 | #define OCFS2_FEATURE_COMPAT_BACKUP_SB 0x0001 |
155 | + | |
156 | +/* | |
157 | + * The filesystem will correctly handle journal feature bits. | |
158 | + */ | |
159 | +#define OCFS2_FEATURE_COMPAT_JBD2_SB 0x0002 | |
154 | 160 | |
155 | 161 | /* |
156 | 162 | * Unwritten extents support. |
fs/ocfs2/xattr.c
... | ... | @@ -2645,9 +2645,9 @@ |
2645 | 2645 | return ret; |
2646 | 2646 | } |
2647 | 2647 | |
2648 | - i = xs->here - old_xh->xh_entries; | |
2649 | - xs->here = &xs->header->xh_entries[i]; | |
2650 | 2648 | } |
2649 | + i = xs->here - old_xh->xh_entries; | |
2650 | + xs->here = &xs->header->xh_entries[i]; | |
2651 | 2651 | } |
2652 | 2652 | |
2653 | 2653 | return ret; |
include/linux/usb/ch9.h
... | ... | @@ -158,8 +158,12 @@ |
158 | 158 | * (rarely) accepted by SET_DESCRIPTOR. |
159 | 159 | * |
160 | 160 | * Note that all multi-byte values here are encoded in little endian |
161 | - * byte order "on the wire". But when exposed through Linux-USB APIs, | |
162 | - * they've been converted to cpu byte order. | |
161 | + * byte order "on the wire". Within the kernel and when exposed | |
162 | + * through the Linux-USB APIs, they are not converted to cpu byte | |
163 | + * order; it is the responsibility of the client code to do this. | |
164 | + * The single exception is when device and configuration descriptors (but | |
165 | + * not other descriptors) are read from usbfs (i.e. /proc/bus/usb/BBB/DDD); | |
166 | + * in this case the fields are converted to host endianness by the kernel. | |
163 | 167 | */ |
164 | 168 | |
165 | 169 | /* |
lib/dynamic_printk.c
... | ... | @@ -135,7 +135,7 @@ |
135 | 135 | nr_entries--; |
136 | 136 | out: |
137 | 137 | up(&debug_list_mutex); |
138 | - return 0; | |
138 | + return ret; | |
139 | 139 | } |
140 | 140 | EXPORT_SYMBOL_GPL(unregister_dynamic_debug_module); |
141 | 141 | |
... | ... | @@ -289,7 +289,7 @@ |
289 | 289 | dynamic_enabled = DYNAMIC_ENABLED_SOME; |
290 | 290 | err = 0; |
291 | 291 | printk(KERN_DEBUG |
292 | - "debugging enabled for module %s", | |
292 | + "debugging enabled for module %s\n", | |
293 | 293 | elem->name); |
294 | 294 | } else if (!value && (elem->enable == 1)) { |
295 | 295 | elem->enable = 0; |
... | ... | @@ -309,7 +309,7 @@ |
309 | 309 | err = 0; |
310 | 310 | printk(KERN_DEBUG |
311 | 311 | "debugging disabled for module " |
312 | - "%s", elem->name); | |
312 | + "%s\n", elem->name); | |
313 | 313 | } |
314 | 314 | } |
315 | 315 | } |