mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (143 commits) USB: xhci depends on PCI. USB: xhci: Add Makefile, MAINTAINERS, and Kconfig entries. USB: xhci: Respect critical sections. USB: xHCI: Fix interrupt moderation. USB: xhci: Remove packed attribute from structures. usb; xhci: Fix TRB offset calculations. USB: xhci: replace if-elseif-else with switch-case USB: xhci: Make xhci-mem.c include linux/dmapool.h USB: xhci: drop spinlock in xhci_urb_enqueue() error path. USB: Change names of SuperSpeed ep companion descriptor structs. USB: xhci: Avoid compiler reordering in Link TRB giveback. USB: xhci: Clean up xhci_irq() function. USB: xhci: Avoid global namespace pollution. USB: xhci: Fix Link TRB handoff bit twiddling. USB: xhci: Fix register write order. USB: xhci: fix some compiler warnings in xhci.h USB: xhci: fix lots of compiler warnings. USB: xhci: use xhci_handle_event instead of handle_event USB: xhci: URB cancellation support. USB: xhci: Scatter gather list support for bulk transfers. ...
This commit is contained in:
commit
e1f5b94fd0
164 changed files with 20947 additions and 2080 deletions
29
fs/fat/dir.c
29
fs/fat/dir.c
|
|
@ -22,6 +22,19 @@
|
|||
#include <asm/uaccess.h>
|
||||
#include "fat.h"
|
||||
|
||||
/*
|
||||
* Maximum buffer size of short name.
|
||||
* [(MSDOS_NAME + '.') * max one char + nul]
|
||||
* For msdos style, ['.' (hidden) + MSDOS_NAME + '.' + nul]
|
||||
*/
|
||||
#define FAT_MAX_SHORT_SIZE ((MSDOS_NAME + 1) * NLS_MAX_CHARSET_SIZE + 1)
|
||||
/*
|
||||
* Maximum buffer size of unicode chars from slots.
|
||||
* [(max longname slots * 13 (size in a slot) + nul) * sizeof(wchar_t)]
|
||||
*/
|
||||
#define FAT_MAX_UNI_CHARS ((MSDOS_SLOTS - 1) * 13 + 1)
|
||||
#define FAT_MAX_UNI_SIZE (FAT_MAX_UNI_CHARS * sizeof(wchar_t))
|
||||
|
||||
static inline loff_t fat_make_i_pos(struct super_block *sb,
|
||||
struct buffer_head *bh,
|
||||
struct msdos_dir_entry *de)
|
||||
|
|
@ -171,7 +184,8 @@ static inline int fat_uni_to_x8(struct msdos_sb_info *sbi, const wchar_t *uni,
|
|||
unsigned char *buf, int size)
|
||||
{
|
||||
if (sbi->options.utf8)
|
||||
return utf8_wcstombs(buf, uni, size);
|
||||
return utf16s_to_utf8s(uni, FAT_MAX_UNI_CHARS,
|
||||
UTF16_HOST_ENDIAN, buf, size);
|
||||
else
|
||||
return uni16_to_x8(buf, uni, size, sbi->options.unicode_xlate,
|
||||
sbi->nls_io);
|
||||
|
|
@ -324,19 +338,6 @@ parse_long:
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Maximum buffer size of short name.
|
||||
* [(MSDOS_NAME + '.') * max one char + nul]
|
||||
* For msdos style, ['.' (hidden) + MSDOS_NAME + '.' + nul]
|
||||
*/
|
||||
#define FAT_MAX_SHORT_SIZE ((MSDOS_NAME + 1) * NLS_MAX_CHARSET_SIZE + 1)
|
||||
/*
|
||||
* Maximum buffer size of unicode chars from slots.
|
||||
* [(max longname slots * 13 (size in a slot) + nul) * sizeof(wchar_t)]
|
||||
*/
|
||||
#define FAT_MAX_UNI_CHARS ((MSDOS_SLOTS - 1) * 13 + 1)
|
||||
#define FAT_MAX_UNI_SIZE (FAT_MAX_UNI_CHARS * sizeof(wchar_t))
|
||||
|
||||
/*
|
||||
* Return values: negative -> error, 0 -> not found, positive -> found,
|
||||
* value is the total amount of slots, including the shortname entry.
|
||||
|
|
|
|||
|
|
@ -502,11 +502,11 @@ xlate_to_uni(const unsigned char *name, int len, unsigned char *outname,
|
|||
if (utf8) {
|
||||
int name_len = strlen(name);
|
||||
|
||||
*outlen = utf8_mbstowcs((wchar_t *)outname, name, PATH_MAX);
|
||||
*outlen = utf8s_to_utf16s(name, PATH_MAX, (wchar_t *) outname);
|
||||
|
||||
/*
|
||||
* We stripped '.'s before and set len appropriately,
|
||||
* but utf8_mbstowcs doesn't care about len
|
||||
* but utf8s_to_utf16s doesn't care about len
|
||||
*/
|
||||
*outlen -= (name_len - len);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue