Skip to content
This repository has been archived by the owner on Jul 13, 2022. It is now read-only.

Commit

Permalink
Merge tag 'v3.0.43' into exp
Browse files Browse the repository at this point in the history
This is the 3.0.43 stable release

* tag 'v3.0.43':
  Linux 3.0.43
  hwmon: (asus_atk0110) Add quirk for Asus M5A78L
  dccp: check ccid before dereferencing
  PARISC: Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts
  drm/vmwgfx: add MODULE_DEVICE_TABLE so vmwgfx loads at boot
  Input: i8042 - add Gigabyte T1005 series netbooks to noloop table
  fuse: fix retrieve length
  ext3: Fix fdatasync() for files with only i_size changes
  udf: Fix data corruption for files in ICB
  SCSI: Fix 'Device not ready' issue on mpt2sas
  SCSI: mpt2sas: Fix for Driver oops, when loading driver with max_queue_depth command line option to a very small value
  SCSI: megaraid_sas: Move poll_aen_lock initializer
  Remove user-triggerable BUG from mpol_to_str
  powerpc: Restore correct DSCR in context switch
  powerpc: Fix DSCR inheritance in copy_thread()
  USB: CDC ACM: Fix NULL pointer dereference
  USB: smsusb: remove __devinit* from the struct usb_device_id table
  USB: rtl8187: remove __devinit* from the struct usb_device_id table
  USB: p54usb: remove __devinit* from the struct usb_device_id table
  USB: spca506: remove __devinit* from the struct usb_device_id table
  block: replace __getblk_slow misfix by grow_dev_page fix
  PCI: EHCI: Fix crash during hibernation on ASUS computers
  ath9k: fix decrypt_error initialization in ath_rx_tasklet()
  ACPI: export symbol acpi_get_table_with_size
  cciss: fix incorrect scsi status reporting
  svcrpc: sends on closed socket should stop immediately
  svcrpc: fix svc_xprt_enqueue/svc_recv busy-looping
  svcrpc: fix BUG() in svc_tcp_clear_pages
  audit: fix refcounting in audit-tree
  audit: don't free_chunk() after fsnotify_add_mark()
  NFS: Alias the nfs module to nfs4
  NFSv4.1: Remove a bogus BUG_ON() in nfs4_layoutreturn_done
  NFSv3: Ensure that do_proc_get_root() reports errors correctly
  mm: hugetlbfs: correctly populate shared pmd
  USB: winbond: remove __devinit* from the struct usb_device_id table
  alpha: Don't export SOCK_NONBLOCK to user space.
  vfs: canonicalize create mode in build_open_flags()
  vfs: missed source of ->f_pos races
  ASoC: wm9712: Fix microphone source selection
  ARM: imx: select CPU_FREQ_TABLE when needed
  ARM: S3C24XX: Fix s3c2410_dma_enqueue parameters
  ARM: 7489/1: errata: fix workaround for erratum #720789 on UP systems
  ARM: 7488/1: mm: use 5 bits for swapfile type encoding
  ARM: 7487/1: mm: avoid setting nG bit for user mappings that aren't present
  ALSA: hda - fix Copyright debug message
  USB: emi62: remove __devinit* from the struct usb_device_id table
  USB: vt6656: remove __devinit* from the struct usb_device_id table
  Linux 3.0.42
  IB/srp: Fix a race condition
  rt2x00: Add support for BUFFALO WLI-UC-GNM2 to rt2800usb.
  usb: serial: mos7840: Fixup mos7840_chars_in_buffer()
  USB: ftdi_sio: Add VID/PID for Kondo Serial USB
  USB: option: add ZTE K5006-Z
  USB: support the new interfaces of Huawei Data Card devices in option driver
  USB: add USB_VENDOR_AND_INTERFACE_INFO() macro
  xhci: Switch PPT ports to EHCI on shutdown.
  xhci: Increase reset timeout for Renesas 720201 host.
  xhci: Add Etron XHCI_TRUST_TX_LENGTH quirk.
  ext4: avoid kmemcheck complaint from reading uninitialized memory
  drm/radeon: do not reenable crtc after moving vram start address
  drm/i915: correctly order the ring init sequence
  xen: mark local pages as FOREIGN in the m2p_override
  fuse: verify all ioctl retry iov elements
  s390/compat: fix mmap compat system calls
  Linux 3.0.41
  rt61pci: fix NULL pointer dereference in config_lna_gain
  Input: wacom - Bamboo One 1024 pressure fix
  e1000e: NIC goes up and immediately goes down
  cfg80211: fix interface combinations check for ADHOC(IBSS)
  cfg80211: process pending events when unregistering net device
  ARM: pxa: remove irq_to_gpio from ezx-pcap driver
  ARM: mxs: Remove MMAP_MIN_ADDR setting from mxs_defconfig
  mm: hugetlbfs: close race during teardown of hugetlbfs shared page tables
  x86, microcode: Sanitize per-cpu microcode reloading interface
  x86, microcode: microcode_core.c simple_strtoul cleanup
  random: mix in architectural randomness in extract_buf()
  dmi: Feed DMI table to /dev/random driver
  random: Add comment to random_initialize()
  random: remove rand_initialize_irq()
  mfd: wm831x: Feed the device UUID into device_add_randomness()
  rtc: wm831x: Feed the write counter into device_add_randomness()
  MAINTAINERS: Theodore Ts'o is taking over the random driver
  random: add tracepoints for easier debugging and verification
  random: add new get_random_bytes_arch() function
  random: use the arch-specific rng in xfer_secondary_pool
  net: feed /dev/random with the MAC address when registering a device
  usb: feed USB device information to the /dev/random driver
  random: create add_device_randomness() interface
  random: use lockless techniques in the interrupt path
  random: make 'add_interrupt_randomness()' do something sane
  drivers/char/random.c: fix boot id uniqueness race
  random: Adjust the number of loops when initializing
  random: Use arch-specific RNG to initialize the entropy store
  random: Use arch_get_random_int instead of cycle counter if avail
  fix typo/thinko in get_random_bytes()
  random: Add support for architectural random hooks
  x86, nops: Missing break resulting in incorrect selection on Intel
  mac80211: cancel mesh path timer
  mm: mmu_notifier: fix freed page still mapped in secondary MMU
  ARM: 7479/1: mm: avoid NULL dereference when flushing gate_vma with VIVT caches
  ARM: 7478/1: errata: extend workaround for erratum #720789
  mm: fix wrong argument of migrate_huge_pages() in soft_offline_huge_page()
  pcdp: use early_ioremap/early_iounmap to access pcdp table
  nilfs2: fix deadlock issue between chcp and thaw ioctls
  SUNRPC: return negative value in case rpcbind client creation error
  Redefine ATOMIC_INIT and ATOMIC64_INIT to drop the casts
  x86: Simplify code by removing a !SMP #ifdefs from 'struct cpuinfo_x86'

Conflicts:
	Makefile
	arch/arm/mm/tlb-v7.S
	drivers/usb/core/hub.c
	kernel/irq/handle.c
	kernel/irq/manage.c
  • Loading branch information
tamcore committed Sep 15, 2012
2 parents 59dc3eb + 3d2e7b3 commit d281849
Show file tree
Hide file tree
Showing 48 changed files with 260 additions and 149 deletions.
2 changes: 1 addition & 1 deletion Makefile
@@ -1,6 +1,6 @@
VERSION = 3
PATCHLEVEL = 0
SUBLEVEL = 42
SUBLEVEL = 43
EXTRAVERSION =
NAME = Sneaky Weasel

Expand Down
2 changes: 2 additions & 0 deletions arch/alpha/include/asm/socket.h
Expand Up @@ -69,9 +69,11 @@

#define SO_RXQ_OVFL 40

#ifdef __KERNEL__
/* O_NONBLOCK clashes with the bits used for socket types. Therefore we
* have to define SOCK_NONBLOCK to a different value here.
*/
#define SOCK_NONBLOCK 0x40000000
#endif /* __KERNEL__ */

#endif /* _ASM_SOCKET_H */
1 change: 1 addition & 0 deletions arch/arm/Kconfig
Expand Up @@ -2024,6 +2024,7 @@ source "drivers/cpufreq/Kconfig"
config CPU_FREQ_IMX
tristate "CPUfreq driver for i.MX CPUs"
depends on ARCH_MXC && CPU_FREQ
select CPU_FREQ_TABLE
help
This enables the CPUfreq driver for i.MX CPUs.

Expand Down
40 changes: 21 additions & 19 deletions arch/arm/include/asm/pgtable.h
Expand Up @@ -376,6 +376,18 @@ static inline pte_t *pmd_page_vaddr(pmd_t pmd)
#define set_pte_ext(ptep,pte,ext) cpu_set_pte_ext(ptep,pte,ext)
#define pte_clear(mm,addr,ptep) set_pte_ext(ptep, __pte(0), 0)

#define pte_none(pte) (!pte_val(pte))
#define pte_present(pte) (pte_val(pte) & L_PTE_PRESENT)
#define pte_write(pte) (!(pte_val(pte) & L_PTE_RDONLY))
#define pte_dirty(pte) (pte_val(pte) & L_PTE_DIRTY)
#define pte_young(pte) (pte_val(pte) & L_PTE_YOUNG)
#define pte_exec(pte) (!(pte_val(pte) & L_PTE_XN))
#define pte_special(pte) (0)

#define pte_present_user(pte) \
((pte_val(pte) & (L_PTE_PRESENT | L_PTE_USER)) == \
(L_PTE_PRESENT | L_PTE_USER))

#if __LINUX_ARM_ARCH__ < 6
static inline void __sync_icache_dcache(pte_t pteval)
{
Expand All @@ -387,25 +399,15 @@ extern void __sync_icache_dcache(pte_t pteval);
static inline void set_pte_at(struct mm_struct *mm, unsigned long addr,
pte_t *ptep, pte_t pteval)
{
if (addr >= TASK_SIZE)
set_pte_ext(ptep, pteval, 0);
else {
unsigned long ext = 0;

if (addr < TASK_SIZE && pte_present_user(pteval)) {
__sync_icache_dcache(pteval);
set_pte_ext(ptep, pteval, PTE_EXT_NG);
ext |= PTE_EXT_NG;
}
}

#define pte_none(pte) (!pte_val(pte))
#define pte_present(pte) (pte_val(pte) & L_PTE_PRESENT)
#define pte_write(pte) (!(pte_val(pte) & L_PTE_RDONLY))
#define pte_dirty(pte) (pte_val(pte) & L_PTE_DIRTY)
#define pte_young(pte) (pte_val(pte) & L_PTE_YOUNG)
#define pte_exec(pte) (!(pte_val(pte) & L_PTE_XN))
#define pte_special(pte) (0)

#define pte_present_user(pte) \
((pte_val(pte) & (L_PTE_PRESENT | L_PTE_USER)) == \
(L_PTE_PRESENT | L_PTE_USER))
set_pte_ext(ptep, pteval, ext);
}

#define PTE_BIT_FUNC(fn,op) \
static inline pte_t pte_##fn(pte_t pte) { pte_val(pte) op; return pte; }
Expand All @@ -432,13 +434,13 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
*
* 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
* 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
* <--------------- offset --------------------> <- type --> 0 0 0
* <--------------- offset ----------------------> < type -> 0 0 0
*
* This gives us up to 63 swap files and 32GB per swap file. Note that
* This gives us up to 31 swap files and 64GB per swap file. Note that
* the offset field is always non-zero.
*/
#define __SWP_TYPE_SHIFT 3
#define __SWP_TYPE_BITS 6
#define __SWP_TYPE_BITS 5
#define __SWP_TYPE_MASK ((1 << __SWP_TYPE_BITS) - 1)
#define __SWP_OFFSET_SHIFT (__SWP_TYPE_BITS + __SWP_TYPE_SHIFT)

Expand Down
2 changes: 0 additions & 2 deletions arch/arm/mm/flush.c
Expand Up @@ -236,8 +236,6 @@ void __sync_icache_dcache(pte_t pteval)
struct page *page;
struct address_space *mapping;

if (!pte_present_user(pteval))
return;
if (cache_is_vipt_nonaliasing() && !pte_exec(pteval))
/* only flush non-aliasing VIPT caches for exec mappings */
return;
Expand Down
4 changes: 4 additions & 0 deletions arch/arm/mm/tlb-v7.S
Expand Up @@ -42,6 +42,10 @@ ENTRY(v7wbi_flush_user_tlb_range)
mov r0, r0, lsl #PAGE_SHIFT
#else
asid r3, r3 @ mask ASID
#ifdef CONFIG_ARM_ERRATA_720789
ALT_SMP(W(mov) r3, #0 )
ALT_UP(W(nop) )
#endif
orr r0, r3, r0, lsl #PAGE_SHIFT @ Create initial MVA
#endif
mov r1, r1, lsl #PAGE_SHIFT
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/plat-s3c24xx/dma.c
Expand Up @@ -431,7 +431,7 @@ s3c2410_dma_canload(struct s3c2410_dma_chan *chan)
* when necessary.
*/

int s3c2410_dma_enqueue(unsigned int channel, void *id,
int s3c2410_dma_enqueue(enum dma_ch channel, void *id,
dma_addr_t data, int size)
{
struct s3c2410_dma_chan *chan = s3c_dma_lookup_channel(channel);
Expand Down
4 changes: 2 additions & 2 deletions arch/parisc/include/asm/atomic.h
Expand Up @@ -248,7 +248,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)

#define atomic_sub_and_test(i,v) (atomic_sub_return((i),(v)) == 0)

#define ATOMIC_INIT(i) ((atomic_t) { (i) })
#define ATOMIC_INIT(i) { (i) }

#define smp_mb__before_atomic_dec() smp_mb()
#define smp_mb__after_atomic_dec() smp_mb()
Expand All @@ -257,7 +257,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)

#ifdef CONFIG_64BIT

#define ATOMIC64_INIT(i) ((atomic64_t) { (i) })
#define ATOMIC64_INIT(i) { (i) }

static __inline__ s64
__atomic64_add_return(s64 i, atomic64_t *v)
Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/kernel/asm-offsets.c
Expand Up @@ -75,6 +75,7 @@ int main(void)
DEFINE(SIGSEGV, SIGSEGV);
DEFINE(NMI_MASK, NMI_MASK);
DEFINE(THREAD_DSCR, offsetof(struct thread_struct, dscr));
DEFINE(THREAD_DSCR_INHERIT, offsetof(struct thread_struct, dscr_inherit));
#else
DEFINE(THREAD_INFO, offsetof(struct task_struct, stack));
#endif /* CONFIG_PPC64 */
Expand Down
23 changes: 17 additions & 6 deletions arch/powerpc/kernel/entry_64.S
Expand Up @@ -380,6 +380,12 @@ _GLOBAL(ret_from_fork)
li r3,0
b syscall_exit

.section ".toc","aw"
DSCR_DEFAULT:
.tc dscr_default[TC],dscr_default

.section ".text"

/*
* This routine switches between two different tasks. The process
* state of one is saved on its kernel stack. Then the state
Expand Down Expand Up @@ -519,9 +525,6 @@ END_MMU_FTR_SECTION_IFSET(MMU_FTR_1T_SEGMENT)
mr r1,r8 /* start using new stack pointer */
std r7,PACAKSAVE(r13)

ld r6,_CCR(r1)
mtcrf 0xFF,r6

#ifdef CONFIG_ALTIVEC
BEGIN_FTR_SECTION
ld r0,THREAD_VRSAVE(r4)
Expand All @@ -530,14 +533,22 @@ END_FTR_SECTION_IFSET(CPU_FTR_ALTIVEC)
#endif /* CONFIG_ALTIVEC */
#ifdef CONFIG_PPC64
BEGIN_FTR_SECTION
lwz r6,THREAD_DSCR_INHERIT(r4)
ld r7,DSCR_DEFAULT@toc(2)
ld r0,THREAD_DSCR(r4)
cmpd r0,r25
beq 1f
cmpwi r6,0
bne 1f
ld r0,0(r7)
1: cmpd r0,r25
beq 2f
mtspr SPRN_DSCR,r0
1:
2:
END_FTR_SECTION_IFSET(CPU_FTR_DSCR)
#endif

ld r6,_CCR(r1)
mtcrf 0xFF,r6

/* r3-r13 are destroyed -- Cort */
REST_8GPRS(14, r1)
REST_10GPRS(22, r1)
Expand Down
12 changes: 2 additions & 10 deletions arch/powerpc/kernel/process.c
Expand Up @@ -794,16 +794,8 @@ int copy_thread(unsigned long clone_flags, unsigned long usp,
#endif /* CONFIG_PPC_STD_MMU_64 */
#ifdef CONFIG_PPC64
if (cpu_has_feature(CPU_FTR_DSCR)) {
if (current->thread.dscr_inherit) {
p->thread.dscr_inherit = 1;
p->thread.dscr = current->thread.dscr;
} else if (0 != dscr_default) {
p->thread.dscr_inherit = 1;
p->thread.dscr = dscr_default;
} else {
p->thread.dscr_inherit = 0;
p->thread.dscr = 0;
}
p->thread.dscr_inherit = current->thread.dscr_inherit;
p->thread.dscr = current->thread.dscr;
}
#endif

Expand Down
21 changes: 16 additions & 5 deletions arch/x86/mm/hugetlbpage.c
Expand Up @@ -56,9 +56,16 @@ static int vma_shareable(struct vm_area_struct *vma, unsigned long addr)
}

/*
* search for a shareable pmd page for hugetlb.
* Search for a shareable pmd page for hugetlb. In any case calls pmd_alloc()
* and returns the corresponding pte. While this is not necessary for the
* !shared pmd case because we can allocate the pmd later as well, it makes the
* code much cleaner. pmd allocation is essential for the shared case because
* pud has to be populated inside the same i_mmap_mutex section - otherwise
* racing tasks could either miss the sharing (see huge_pte_offset) or select a
* bad pmd for sharing.
*/
static void huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
static pte_t *
huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
{
struct vm_area_struct *vma = find_vma(mm, addr);
struct address_space *mapping = vma->vm_file->f_mapping;
Expand All @@ -68,9 +75,10 @@ static void huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
struct vm_area_struct *svma;
unsigned long saddr;
pte_t *spte = NULL;
pte_t *pte;

if (!vma_shareable(vma, addr))
return;
return (pte_t *)pmd_alloc(mm, pud, addr);

mutex_lock(&mapping->i_mmap_mutex);
vma_prio_tree_foreach(svma, &iter, &mapping->i_mmap, idx, idx) {
Expand All @@ -97,7 +105,9 @@ static void huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud)
put_page(virt_to_page(spte));
spin_unlock(&mm->page_table_lock);
out:
pte = (pte_t *)pmd_alloc(mm, pud, addr);
mutex_unlock(&mapping->i_mmap_mutex);
return pte;
}

/*
Expand Down Expand Up @@ -142,8 +152,9 @@ pte_t *huge_pte_alloc(struct mm_struct *mm,
} else {
BUG_ON(sz != PMD_SIZE);
if (pud_none(*pud))
huge_pmd_share(mm, addr, pud);
pte = (pte_t *) pmd_alloc(mm, pud, addr);
pte = huge_pmd_share(mm, addr, pud);
else
pte = (pte_t *)pmd_alloc(mm, pud, addr);
}
}
BUG_ON(pte && !pte_none(*pte) && !pte_huge(*pte));
Expand Down
1 change: 1 addition & 0 deletions drivers/acpi/acpica/tbxface.c
Expand Up @@ -435,6 +435,7 @@ acpi_get_table_with_size(char *signature,

return (AE_NOT_FOUND);
}
ACPI_EXPORT_SYMBOL(acpi_get_table_with_size)

acpi_status
acpi_get_table(char *signature,
Expand Down
11 changes: 1 addition & 10 deletions drivers/block/cciss_scsi.c
Expand Up @@ -763,16 +763,7 @@ static void complete_scsi_command(CommandList_struct *c, int timeout,
{
case CMD_TARGET_STATUS:
/* Pass it up to the upper layers... */
if( ei->ScsiStatus)
{
#if 0
printk(KERN_WARNING "cciss: cmd %p "
"has SCSI Status = %x\n",
c, ei->ScsiStatus);
#endif
cmd->result |= (ei->ScsiStatus << 1);
}
else { /* scsi status is zero??? How??? */
if (!ei->ScsiStatus) {

/* Ordinarily, this case should never happen, but there is a bug
in some released firmware revisions that allows it to happen
Expand Down
1 change: 1 addition & 0 deletions drivers/gpu/drm/vmwgfx/vmwgfx_drv.c
Expand Up @@ -147,6 +147,7 @@ static struct pci_device_id vmw_pci_id_list[] = {
{0x15ad, 0x0405, PCI_ANY_ID, PCI_ANY_ID, 0, 0, VMWGFX_CHIP_SVGAII},
{0, 0, 0}
};
MODULE_DEVICE_TABLE(pci, vmw_pci_id_list);

static int enable_fbdev;

Expand Down
6 changes: 6 additions & 0 deletions drivers/hwmon/asus_atk0110.c
Expand Up @@ -34,6 +34,12 @@ static const struct dmi_system_id __initconst atk_force_new_if[] = {
.matches = {
DMI_MATCH(DMI_BOARD_NAME, "SABERTOOTH X58")
}
}, {
/* Old interface reads the same sensor for fan0 and fan1 */
.ident = "Asus M5A78L",
.matches = {
DMI_MATCH(DMI_BOARD_NAME, "M5A78L")
}
},
{ }
};
Expand Down
14 changes: 14 additions & 0 deletions drivers/input/serio/i8042-x86ia64io.h
Expand Up @@ -176,6 +176,20 @@ static const struct dmi_system_id __initconst i8042_dmi_noloop_table[] = {
DMI_MATCH(DMI_PRODUCT_NAME, "Spring Peak"),
},
},
{
/* Gigabyte T1005 - defines wrong chassis type ("Other") */
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"),
DMI_MATCH(DMI_PRODUCT_NAME, "T1005"),
},
},
{
/* Gigabyte T1005M/P - defines wrong chassis type ("Other") */
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "GIGABYTE"),
DMI_MATCH(DMI_PRODUCT_NAME, "T1005M/P"),
},
},
{
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/dvb/siano/smsusb.c
Expand Up @@ -480,7 +480,7 @@ static int smsusb_resume(struct usb_interface *intf)
return 0;
}

static const struct usb_device_id smsusb_id_table[] __devinitconst = {
static const struct usb_device_id smsusb_id_table[] = {
{ USB_DEVICE(0x187f, 0x0010),
.driver_info = SMS1XXX_BOARD_SIANO_STELLAR },
{ USB_DEVICE(0x187f, 0x0100),
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/video/gspca/spca506.c
Expand Up @@ -685,7 +685,7 @@ static const struct sd_desc sd_desc = {
};

/* -- module initialisation -- */
static const struct usb_device_id device_table[] __devinitconst = {
static const struct usb_device_id device_table[] = {
{USB_DEVICE(0x06e1, 0xa190)},
/*fixme: may be IntelPCCameraPro BRIDGE_SPCA505
{USB_DEVICE(0x0733, 0x0430)}, */
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/ath/ath9k/recv.c
Expand Up @@ -1697,7 +1697,6 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
struct ieee80211_hw *hw = sc->hw;
struct ieee80211_hdr *hdr;
int retval;
bool decrypt_error = false;
struct ath_rx_status rs;
enum ath9k_rx_qtype qtype;
bool edma = !!(ah->caps.hw_caps & ATH9K_HW_CAP_EDMA);
Expand All @@ -1719,6 +1718,7 @@ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp)
tsf_lower = tsf & 0xffffffff;

do {
bool decrypt_error = false;
/* If handling rx interrupt and flush is in progress => exit */
if ((sc->sc_flags & SC_OP_RXFLUSH) && (flush == 0))
break;
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/p54/p54usb.c
Expand Up @@ -41,7 +41,7 @@ MODULE_FIRMWARE("isl3887usb");
* whenever you add a new device.
*/

static struct usb_device_id p54u_table[] __devinitdata = {
static struct usb_device_id p54u_table[] = {
/* Version 1 devices (pci chip + net2280) */
{USB_DEVICE(0x0411, 0x0050)}, /* Buffalo WLI2-USB2-G54 */
{USB_DEVICE(0x045e, 0x00c2)}, /* Microsoft MN-710 */
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/wireless/rtl818x/rtl8187/dev.c
Expand Up @@ -43,7 +43,7 @@ MODULE_AUTHOR("Larry Finger <Larry.Finger@lwfinger.net>");
MODULE_DESCRIPTION("RTL8187/RTL8187B USB wireless driver");
MODULE_LICENSE("GPL");

static struct usb_device_id rtl8187_table[] __devinitdata = {
static struct usb_device_id rtl8187_table[] = {
/* Asus */
{USB_DEVICE(0x0b05, 0x171d), .driver_info = DEVICE_RTL8187},
/* Belkin */
Expand Down

0 comments on commit d281849

Please sign in to comment.