Merge tag 'v3.3-rc7' into gpio/next
Linux 3.3-rc7. Merged into the gpio branch to pick up gpio bugfixes already in mainline before queueing up move v3.4 patches
This commit is contained in:
@@ -23,6 +23,8 @@
|
||||
#ifndef ASM_ARM_HARDWARE_SERIAL_AMBA_H
|
||||
#define ASM_ARM_HARDWARE_SERIAL_AMBA_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* -------------------------------------------------------------------------------
|
||||
* From AMBA UART (PL010) Block Specification
|
||||
* -------------------------------------------------------------------------------
|
||||
|
||||
@@ -55,6 +55,26 @@ static inline unsigned long hweight_long(unsigned long w)
|
||||
return sizeof(w) == 4 ? hweight32(w) : hweight64(w);
|
||||
}
|
||||
|
||||
/**
|
||||
* rol64 - rotate a 64-bit value left
|
||||
* @word: value to rotate
|
||||
* @shift: bits to roll
|
||||
*/
|
||||
static inline __u64 rol64(__u64 word, unsigned int shift)
|
||||
{
|
||||
return (word << shift) | (word >> (64 - shift));
|
||||
}
|
||||
|
||||
/**
|
||||
* ror64 - rotate a 64-bit value right
|
||||
* @word: value to rotate
|
||||
* @shift: bits to roll
|
||||
*/
|
||||
static inline __u64 ror64(__u64 word, unsigned int shift)
|
||||
{
|
||||
return (word >> shift) | (word << (64 - shift));
|
||||
}
|
||||
|
||||
/**
|
||||
* rol32 - rotate a 32-bit value left
|
||||
* @word: value to rotate
|
||||
|
||||
@@ -561,5 +561,9 @@ asmlinkage ssize_t compat_sys_process_vm_writev(compat_pid_t pid,
|
||||
unsigned long liovcnt, const struct compat_iovec __user *rvec,
|
||||
unsigned long riovcnt, unsigned long flags);
|
||||
|
||||
#else
|
||||
|
||||
#define is_compat_task() (0)
|
||||
|
||||
#endif /* CONFIG_COMPAT */
|
||||
#endif /* _LINUX_COMPAT_H */
|
||||
|
||||
+3
-30
@@ -47,27 +47,6 @@ struct dentry_stat_t {
|
||||
};
|
||||
extern struct dentry_stat_t dentry_stat;
|
||||
|
||||
/*
|
||||
* Compare 2 name strings, return 0 if they match, otherwise non-zero.
|
||||
* The strings are both count bytes long, and count is non-zero.
|
||||
*/
|
||||
static inline int dentry_cmp(const unsigned char *cs, size_t scount,
|
||||
const unsigned char *ct, size_t tcount)
|
||||
{
|
||||
int ret;
|
||||
if (scount != tcount)
|
||||
return 1;
|
||||
do {
|
||||
ret = (*cs != *ct);
|
||||
if (ret)
|
||||
break;
|
||||
cs++;
|
||||
ct++;
|
||||
tcount--;
|
||||
} while (tcount);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* Name hashing routines. Initial hash value */
|
||||
/* Hash courtesy of the R5 hash in reiserfs modulo sign bits */
|
||||
#define init_name_hash() 0
|
||||
@@ -89,14 +68,7 @@ static inline unsigned long end_name_hash(unsigned long hash)
|
||||
}
|
||||
|
||||
/* Compute the hash for a name string. */
|
||||
static inline unsigned int
|
||||
full_name_hash(const unsigned char *name, unsigned int len)
|
||||
{
|
||||
unsigned long hash = init_name_hash();
|
||||
while (len--)
|
||||
hash = partial_name_hash(*name++, hash);
|
||||
return end_name_hash(hash);
|
||||
}
|
||||
extern unsigned int full_name_hash(const unsigned char *, unsigned int);
|
||||
|
||||
/*
|
||||
* Try to keep struct dentry aligned on 64 byte cachelines (this will
|
||||
@@ -309,7 +281,8 @@ extern struct dentry *d_ancestor(struct dentry *, struct dentry *);
|
||||
extern struct dentry *d_lookup(struct dentry *, struct qstr *);
|
||||
extern struct dentry *d_hash_and_lookup(struct dentry *, struct qstr *);
|
||||
extern struct dentry *__d_lookup(struct dentry *, struct qstr *);
|
||||
extern struct dentry *__d_lookup_rcu(struct dentry *parent, struct qstr *name,
|
||||
extern struct dentry *__d_lookup_rcu(const struct dentry *parent,
|
||||
const struct qstr *name,
|
||||
unsigned *seq, struct inode **inode);
|
||||
|
||||
/**
|
||||
|
||||
@@ -30,7 +30,7 @@ enum digest_algo {
|
||||
|
||||
struct pubkey_hdr {
|
||||
uint8_t version; /* key format version */
|
||||
time_t timestamp; /* key made, always 0 for now */
|
||||
uint32_t timestamp; /* key made, always 0 for now */
|
||||
uint8_t algo;
|
||||
uint8_t nmpi;
|
||||
char mpi[0];
|
||||
@@ -38,7 +38,7 @@ struct pubkey_hdr {
|
||||
|
||||
struct signature_hdr {
|
||||
uint8_t version; /* signature format version */
|
||||
time_t timestamp; /* signature made */
|
||||
uint32_t timestamp; /* signature made */
|
||||
uint8_t algo;
|
||||
uint8_t hash;
|
||||
uint8_t keyid[8];
|
||||
|
||||
@@ -2496,6 +2496,7 @@ extern void get_filesystem(struct file_system_type *fs);
|
||||
extern void put_filesystem(struct file_system_type *fs);
|
||||
extern struct file_system_type *get_fs_type(const char *name);
|
||||
extern struct super_block *get_super(struct block_device *);
|
||||
extern struct super_block *get_super_thawed(struct block_device *);
|
||||
extern struct super_block *get_active_super(struct block_device *bdev);
|
||||
extern void drop_super(struct super_block *sb);
|
||||
extern void iterate_supers(void (*)(struct super_block *, void *), void *);
|
||||
|
||||
@@ -137,6 +137,7 @@ enum {
|
||||
IFLA_AF_SPEC,
|
||||
IFLA_GROUP, /* Group the device belongs to */
|
||||
IFLA_NET_NS_FD,
|
||||
IFLA_EXT_MASK, /* Extended info mask, VFs, etc */
|
||||
__IFLA_MAX
|
||||
};
|
||||
|
||||
|
||||
@@ -15,13 +15,18 @@
|
||||
#include <linux/errno.h>
|
||||
#include <linux/list.h>
|
||||
|
||||
/*
|
||||
* Keep this list arranged in rough order of priority. Anything listed after
|
||||
* KMSG_DUMP_OOPS will not be logged by default unless printk.always_kmsg_dump
|
||||
* is passed to the kernel.
|
||||
*/
|
||||
enum kmsg_dump_reason {
|
||||
KMSG_DUMP_OOPS,
|
||||
KMSG_DUMP_PANIC,
|
||||
KMSG_DUMP_OOPS,
|
||||
KMSG_DUMP_EMERG,
|
||||
KMSG_DUMP_RESTART,
|
||||
KMSG_DUMP_HALT,
|
||||
KMSG_DUMP_POWEROFF,
|
||||
KMSG_DUMP_EMERG,
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -129,7 +129,6 @@ extern void mem_cgroup_print_oom_info(struct mem_cgroup *memcg,
|
||||
extern void mem_cgroup_replace_page_cache(struct page *oldpage,
|
||||
struct page *newpage);
|
||||
|
||||
extern void mem_cgroup_reset_owner(struct page *page);
|
||||
#ifdef CONFIG_CGROUP_MEM_RES_CTLR_SWAP
|
||||
extern int do_swap_account;
|
||||
#endif
|
||||
@@ -392,10 +391,6 @@ static inline void mem_cgroup_replace_page_cache(struct page *oldpage,
|
||||
struct page *newpage)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void mem_cgroup_reset_owner(struct page *page)
|
||||
{
|
||||
}
|
||||
#endif /* CONFIG_CGROUP_MEM_CONT */
|
||||
|
||||
#if !defined(CONFIG_CGROUP_MEM_RES_CTLR) || !defined(CONFIG_DEBUG_VM)
|
||||
|
||||
@@ -217,6 +217,7 @@ struct mmc_card {
|
||||
#define MMC_CARD_SDXC (1<<6) /* card is SDXC */
|
||||
#define MMC_CARD_REMOVED (1<<7) /* card has been removed */
|
||||
#define MMC_STATE_HIGHSPEED_200 (1<<8) /* card is in HS200 mode */
|
||||
#define MMC_STATE_SLEEP (1<<9) /* card is in sleep state */
|
||||
unsigned int quirks; /* card quirks */
|
||||
#define MMC_QUIRK_LENIENT_FN0 (1<<0) /* allow SDIO FN0 writes outside of the VS CCCR range */
|
||||
#define MMC_QUIRK_BLKSZ_FOR_BYTE_MODE (1<<1) /* use func->cur_blksize */
|
||||
@@ -382,6 +383,7 @@ static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data)
|
||||
#define mmc_sd_card_uhs(c) ((c)->state & MMC_STATE_ULTRAHIGHSPEED)
|
||||
#define mmc_card_ext_capacity(c) ((c)->state & MMC_CARD_SDXC)
|
||||
#define mmc_card_removed(c) ((c) && ((c)->state & MMC_CARD_REMOVED))
|
||||
#define mmc_card_is_sleep(c) ((c)->state & MMC_STATE_SLEEP)
|
||||
|
||||
#define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT)
|
||||
#define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY)
|
||||
@@ -393,7 +395,9 @@ static inline void __maybe_unused remove_quirk(struct mmc_card *card, int data)
|
||||
#define mmc_sd_card_set_uhs(c) ((c)->state |= MMC_STATE_ULTRAHIGHSPEED)
|
||||
#define mmc_card_set_ext_capacity(c) ((c)->state |= MMC_CARD_SDXC)
|
||||
#define mmc_card_set_removed(c) ((c)->state |= MMC_CARD_REMOVED)
|
||||
#define mmc_card_set_sleep(c) ((c)->state |= MMC_STATE_SLEEP)
|
||||
|
||||
#define mmc_card_clr_sleep(c) ((c)->state &= ~MMC_STATE_SLEEP)
|
||||
/*
|
||||
* Quirk add/remove for MMC products.
|
||||
*/
|
||||
|
||||
@@ -14,6 +14,8 @@
|
||||
#ifndef LINUX_MMC_DW_MMC_H
|
||||
#define LINUX_MMC_DW_MMC_H
|
||||
|
||||
#include <linux/scatterlist.h>
|
||||
|
||||
#define MAX_MCI_SLOTS 2
|
||||
|
||||
enum dw_mci_state {
|
||||
@@ -40,7 +42,7 @@ struct mmc_data;
|
||||
* @lock: Spinlock protecting the queue and associated data.
|
||||
* @regs: Pointer to MMIO registers.
|
||||
* @sg: Scatterlist entry currently being processed by PIO code, if any.
|
||||
* @pio_offset: Offset into the current scatterlist entry.
|
||||
* @sg_miter: PIO mapping scatterlist iterator.
|
||||
* @cur_slot: The slot which is currently using the controller.
|
||||
* @mrq: The request currently being processed on @cur_slot,
|
||||
* or NULL if the controller is idle.
|
||||
@@ -115,7 +117,7 @@ struct dw_mci {
|
||||
void __iomem *regs;
|
||||
|
||||
struct scatterlist *sg;
|
||||
unsigned int pio_offset;
|
||||
struct sg_mapping_iter sg_miter;
|
||||
|
||||
struct dw_mci_slot *cur_slot;
|
||||
struct mmc_request *mrq;
|
||||
|
||||
@@ -257,6 +257,7 @@ struct mmc_host {
|
||||
#define MMC_CAP2_HS200_1_2V_SDR (1 << 6) /* can support */
|
||||
#define MMC_CAP2_HS200 (MMC_CAP2_HS200_1_8V_SDR | \
|
||||
MMC_CAP2_HS200_1_2V_SDR)
|
||||
#define MMC_CAP2_BROKEN_VOLTAGE (1 << 7) /* Use the broken voltage */
|
||||
|
||||
mmc_pm_flag_t pm_caps; /* supported pm features */
|
||||
unsigned int power_notify_type;
|
||||
@@ -444,4 +445,23 @@ static inline int mmc_boot_partition_access(struct mmc_host *host)
|
||||
return !(host->caps2 & MMC_CAP2_BOOTPART_NOACC);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MMC_CLKGATE
|
||||
void mmc_host_clk_hold(struct mmc_host *host);
|
||||
void mmc_host_clk_release(struct mmc_host *host);
|
||||
unsigned int mmc_host_clk_rate(struct mmc_host *host);
|
||||
|
||||
#else
|
||||
static inline void mmc_host_clk_hold(struct mmc_host *host)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void mmc_host_clk_release(struct mmc_host *host)
|
||||
{
|
||||
}
|
||||
|
||||
static inline unsigned int mmc_host_clk_rate(struct mmc_host *host)
|
||||
{
|
||||
return host->ios.clock;
|
||||
}
|
||||
#endif
|
||||
#endif /* LINUX_MMC_HOST_H */
|
||||
|
||||
@@ -285,8 +285,8 @@ struct ebt_table {
|
||||
struct module *me;
|
||||
};
|
||||
|
||||
#define EBT_ALIGN(s) (((s) + (__alignof__(struct ebt_replace)-1)) & \
|
||||
~(__alignof__(struct ebt_replace)-1))
|
||||
#define EBT_ALIGN(s) (((s) + (__alignof__(struct _xt_align)-1)) & \
|
||||
~(__alignof__(struct _xt_align)-1))
|
||||
extern struct ebt_table *ebt_register_table(struct net *net,
|
||||
const struct ebt_table *table);
|
||||
extern void ebt_unregister_table(struct net *net, struct ebt_table *table);
|
||||
|
||||
@@ -614,7 +614,6 @@ struct nfs_getaclargs {
|
||||
size_t acl_len;
|
||||
unsigned int acl_pgbase;
|
||||
struct page ** acl_pages;
|
||||
struct page * acl_scratch;
|
||||
struct nfs4_sequence_args seq_args;
|
||||
};
|
||||
|
||||
@@ -624,6 +623,7 @@ struct nfs_getaclres {
|
||||
size_t acl_len;
|
||||
size_t acl_data_offset;
|
||||
int acl_flags;
|
||||
struct page * acl_scratch;
|
||||
struct nfs4_sequence_res seq_res;
|
||||
};
|
||||
|
||||
|
||||
@@ -281,6 +281,14 @@ static inline struct property *of_find_property(const struct device_node *np,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline struct device_node *of_find_compatible_node(
|
||||
struct device_node *from,
|
||||
const char *type,
|
||||
const char *compat)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline int of_property_read_u32_array(const struct device_node *np,
|
||||
const char *propname,
|
||||
u32 *out_values, size_t sz)
|
||||
|
||||
+15
-14
@@ -348,9 +348,9 @@ do { \
|
||||
#define _this_cpu_generic_to_op(pcp, val, op) \
|
||||
do { \
|
||||
unsigned long flags; \
|
||||
local_irq_save(flags); \
|
||||
raw_local_irq_save(flags); \
|
||||
*__this_cpu_ptr(&(pcp)) op val; \
|
||||
local_irq_restore(flags); \
|
||||
raw_local_irq_restore(flags); \
|
||||
} while (0)
|
||||
|
||||
#ifndef this_cpu_write
|
||||
@@ -449,10 +449,10 @@ do { \
|
||||
({ \
|
||||
typeof(pcp) ret__; \
|
||||
unsigned long flags; \
|
||||
local_irq_save(flags); \
|
||||
raw_local_irq_save(flags); \
|
||||
__this_cpu_add(pcp, val); \
|
||||
ret__ = __this_cpu_read(pcp); \
|
||||
local_irq_restore(flags); \
|
||||
raw_local_irq_restore(flags); \
|
||||
ret__; \
|
||||
})
|
||||
|
||||
@@ -479,10 +479,10 @@ do { \
|
||||
#define _this_cpu_generic_xchg(pcp, nval) \
|
||||
({ typeof(pcp) ret__; \
|
||||
unsigned long flags; \
|
||||
local_irq_save(flags); \
|
||||
raw_local_irq_save(flags); \
|
||||
ret__ = __this_cpu_read(pcp); \
|
||||
__this_cpu_write(pcp, nval); \
|
||||
local_irq_restore(flags); \
|
||||
raw_local_irq_restore(flags); \
|
||||
ret__; \
|
||||
})
|
||||
|
||||
@@ -507,11 +507,11 @@ do { \
|
||||
({ \
|
||||
typeof(pcp) ret__; \
|
||||
unsigned long flags; \
|
||||
local_irq_save(flags); \
|
||||
raw_local_irq_save(flags); \
|
||||
ret__ = __this_cpu_read(pcp); \
|
||||
if (ret__ == (oval)) \
|
||||
__this_cpu_write(pcp, nval); \
|
||||
local_irq_restore(flags); \
|
||||
raw_local_irq_restore(flags); \
|
||||
ret__; \
|
||||
})
|
||||
|
||||
@@ -544,10 +544,10 @@ do { \
|
||||
({ \
|
||||
int ret__; \
|
||||
unsigned long flags; \
|
||||
local_irq_save(flags); \
|
||||
raw_local_irq_save(flags); \
|
||||
ret__ = __this_cpu_generic_cmpxchg_double(pcp1, pcp2, \
|
||||
oval1, oval2, nval1, nval2); \
|
||||
local_irq_restore(flags); \
|
||||
raw_local_irq_restore(flags); \
|
||||
ret__; \
|
||||
})
|
||||
|
||||
@@ -718,12 +718,13 @@ do { \
|
||||
# ifndef __this_cpu_add_return_8
|
||||
# define __this_cpu_add_return_8(pcp, val) __this_cpu_generic_add_return(pcp, val)
|
||||
# endif
|
||||
# define __this_cpu_add_return(pcp, val) __pcpu_size_call_return2(this_cpu_add_return_, pcp, val)
|
||||
# define __this_cpu_add_return(pcp, val) \
|
||||
__pcpu_size_call_return2(__this_cpu_add_return_, pcp, val)
|
||||
#endif
|
||||
|
||||
#define __this_cpu_sub_return(pcp, val) this_cpu_add_return(pcp, -(val))
|
||||
#define __this_cpu_inc_return(pcp) this_cpu_add_return(pcp, 1)
|
||||
#define __this_cpu_dec_return(pcp) this_cpu_add_return(pcp, -1)
|
||||
#define __this_cpu_sub_return(pcp, val) __this_cpu_add_return(pcp, -(val))
|
||||
#define __this_cpu_inc_return(pcp) __this_cpu_add_return(pcp, 1)
|
||||
#define __this_cpu_dec_return(pcp) __this_cpu_add_return(pcp, -1)
|
||||
|
||||
#define __this_cpu_generic_xchg(pcp, nval) \
|
||||
({ typeof(pcp) ret__; \
|
||||
|
||||
@@ -335,8 +335,11 @@ static inline int copy_regset_to_user(struct task_struct *target,
|
||||
{
|
||||
const struct user_regset *regset = &view->regsets[setno];
|
||||
|
||||
if (!regset->get)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (!access_ok(VERIFY_WRITE, data, size))
|
||||
return -EIO;
|
||||
return -EFAULT;
|
||||
|
||||
return regset->get(target, regset, offset, size, NULL, data);
|
||||
}
|
||||
@@ -358,8 +361,11 @@ static inline int copy_regset_from_user(struct task_struct *target,
|
||||
{
|
||||
const struct user_regset *regset = &view->regsets[setno];
|
||||
|
||||
if (!regset->set)
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (!access_ok(VERIFY_READ, data, size))
|
||||
return -EIO;
|
||||
return -EFAULT;
|
||||
|
||||
return regset->set(target, regset, offset, size, NULL, data);
|
||||
}
|
||||
|
||||
@@ -602,6 +602,9 @@ struct tcamsg {
|
||||
#define TCA_ACT_TAB 1 /* attr type must be >=1 */
|
||||
#define TCAA_MAX 1
|
||||
|
||||
/* New extended info filters for IFLA_EXT_MASK */
|
||||
#define RTEXT_FILTER_VF (1 << 0)
|
||||
|
||||
/* End of information exported to user level */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
@@ -1777,7 +1777,6 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t *
|
||||
/*
|
||||
* Per process flags
|
||||
*/
|
||||
#define PF_STARTING 0x00000002 /* being created */
|
||||
#define PF_EXITING 0x00000004 /* getting shut down */
|
||||
#define PF_EXITPIDONE 0x00000008 /* pi exit done on shut down */
|
||||
#define PF_VCPU 0x00000010 /* I'm a virtual CPU */
|
||||
@@ -2371,7 +2370,7 @@ static inline int thread_group_empty(struct task_struct *p)
|
||||
* Protects ->fs, ->files, ->mm, ->group_info, ->comm, keyring
|
||||
* subscriptions and synchronises with wait4(). Also used in procfs. Also
|
||||
* pins the final release of task.io_context. Also protects ->cpuset and
|
||||
* ->cgroup.subsys[].
|
||||
* ->cgroup.subsys[]. And ->vfork_done.
|
||||
*
|
||||
* Nests both inside and outside of read_lock(&tasklist_lock).
|
||||
* It must not be nested with write_lock_irq(&tasklist_lock),
|
||||
|
||||
@@ -61,13 +61,16 @@ static inline void signalfd_notify(struct task_struct *tsk, int sig)
|
||||
wake_up(&tsk->sighand->signalfd_wqh);
|
||||
}
|
||||
|
||||
extern void signalfd_cleanup(struct sighand_struct *sighand);
|
||||
|
||||
#else /* CONFIG_SIGNALFD */
|
||||
|
||||
static inline void signalfd_notify(struct task_struct *tsk, int sig) { }
|
||||
|
||||
static inline void signalfd_cleanup(struct sighand_struct *sighand) { }
|
||||
|
||||
#endif /* CONFIG_SIGNALFD */
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* _LINUX_SIGNALFD_H */
|
||||
|
||||
|
||||
@@ -1465,6 +1465,16 @@ static inline void skb_set_mac_header(struct sk_buff *skb, const int offset)
|
||||
}
|
||||
#endif /* NET_SKBUFF_DATA_USES_OFFSET */
|
||||
|
||||
static inline void skb_mac_header_rebuild(struct sk_buff *skb)
|
||||
{
|
||||
if (skb_mac_header_was_set(skb)) {
|
||||
const unsigned char *old_mac = skb_mac_header(skb);
|
||||
|
||||
skb_set_mac_header(skb, -skb->mac_len);
|
||||
memmove(skb_mac_header(skb), old_mac, skb->mac_len);
|
||||
}
|
||||
}
|
||||
|
||||
static inline int skb_checksum_start_offset(const struct sk_buff *skb)
|
||||
{
|
||||
return skb->csum_start - skb_headroom(skb);
|
||||
|
||||
@@ -624,7 +624,7 @@ asmlinkage long sys_socketpair(int, int, int, int __user *);
|
||||
asmlinkage long sys_socketcall(int call, unsigned long __user *args);
|
||||
asmlinkage long sys_listen(int, int);
|
||||
asmlinkage long sys_poll(struct pollfd __user *ufds, unsigned int nfds,
|
||||
long timeout);
|
||||
int timeout);
|
||||
asmlinkage long sys_select(int n, fd_set __user *inp, fd_set __user *outp,
|
||||
fd_set __user *exp, struct timeval __user *tvp);
|
||||
asmlinkage long sys_old_select(struct sel_arg_struct __user *arg);
|
||||
|
||||
+2
-1
@@ -412,7 +412,8 @@ struct tcp_sock {
|
||||
|
||||
struct tcp_sack_block recv_sack_cache[4];
|
||||
|
||||
struct sk_buff *highest_sack; /* highest skb with SACK received
|
||||
struct sk_buff *highest_sack; /* skb just after the highest
|
||||
* skb with SACKed bit set
|
||||
* (validity guaranteed only if
|
||||
* sacked_out > 0)
|
||||
*/
|
||||
|
||||
@@ -61,12 +61,6 @@
|
||||
#define USB_PORT_FEAT_TEST 21
|
||||
#define USB_PORT_FEAT_INDICATOR 22
|
||||
#define USB_PORT_FEAT_C_PORT_L1 23
|
||||
#define USB_PORT_FEAT_C_PORT_LINK_STATE 25
|
||||
#define USB_PORT_FEAT_C_PORT_CONFIG_ERROR 26
|
||||
#define USB_PORT_FEAT_PORT_REMOTE_WAKE_MASK 27
|
||||
#define USB_PORT_FEAT_BH_PORT_RESET 28
|
||||
#define USB_PORT_FEAT_C_BH_PORT_RESET 29
|
||||
#define USB_PORT_FEAT_FORCE_LINKPM_ACCEPT 30
|
||||
|
||||
/*
|
||||
* Port feature selectors added by USB 3.0 spec.
|
||||
@@ -75,8 +69,8 @@
|
||||
#define USB_PORT_FEAT_LINK_STATE 5
|
||||
#define USB_PORT_FEAT_U1_TIMEOUT 23
|
||||
#define USB_PORT_FEAT_U2_TIMEOUT 24
|
||||
#define USB_PORT_FEAT_C_LINK_STATE 25
|
||||
#define USB_PORT_FEAT_C_CONFIG_ERR 26
|
||||
#define USB_PORT_FEAT_C_PORT_LINK_STATE 25
|
||||
#define USB_PORT_FEAT_C_PORT_CONFIG_ERROR 26
|
||||
#define USB_PORT_FEAT_REMOTE_WAKE_MASK 27
|
||||
#define USB_PORT_FEAT_BH_PORT_RESET 28
|
||||
#define USB_PORT_FEAT_C_BH_PORT_RESET 29
|
||||
|
||||
Reference in New Issue
Block a user