ifeq ($(LINUX_VERSION),3.6.11)
LINUX_KERNEL_MD5SUM:=3d602ad7f7984509c3e923a5ae90bc54
endif
-ifeq ($(LINUX_VERSION),3.7.1)
- LINUX_KERNEL_MD5SUM:=b3f99fb945b270b503b2a0996b8b29e7
+ifeq ($(LINUX_VERSION),3.7.2)
+ LINUX_KERNEL_MD5SUM:=a6bad0280df3bfec8f91c9aa375826a5
endif
# disable the md5sum check for unknown kernel versions
obj-$(CONFIG_PCI_AR724X) += pci-ar724x.o
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
-@@ -1806,6 +1806,9 @@
+@@ -1807,6 +1807,9 @@
#define PCI_VENDOR_ID_ESDGMBH 0x12fe
#define PCI_DEVICE_ID_ESDGMBH_CPCIASIO4 0x0111
#endif /* LINUX_BCMA_REGS_H_ */
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
-@@ -4652,7 +4652,7 @@ static int b43_wireless_core_init(struct
+@@ -4656,7 +4656,7 @@ static int b43_wireless_core_init(struct
switch (dev->dev->bus_type) {
#ifdef CONFIG_B43_BCMA
case B43_BUS_BCMA:
+module_exit(ovl_exit);
--- a/fs/splice.c
+++ b/fs/splice.c
-@@ -1308,6 +1308,7 @@ long do_splice_direct(struct file *in, l
+@@ -1310,6 +1310,7 @@ long do_splice_direct(struct file *in, l
return ret;
}
return;
}
-@@ -1011,9 +989,12 @@ static uint32_t fpga_tx(struct solos_car
+@@ -1012,9 +990,12 @@ static uint32_t fpga_tx(struct solos_car
if (vcc) {
atomic_inc(&vcc->stats->tx);
solos_pop(vcc, oldskb);
}
}
/* For non-DMA TX, write the 'TX start' bit for all four ports simultaneously */
-@@ -1248,7 +1229,7 @@ static int atm_init(struct solos_card *c
+@@ -1249,7 +1230,7 @@ static int atm_init(struct solos_card *c
card->atmdev[i]->phy_data = (void *)(unsigned long)i;
atm_dev_signal_change(card->atmdev[i], ATM_PHY_SIG_FOUND);
if (!skb) {
dev_warn(&card->dev->dev, "Failed to allocate sk_buff in atm_init()\n");
continue;
-@@ -1345,6 +1326,8 @@ static struct pci_driver fpga_driver = {
+@@ -1346,6 +1327,8 @@ static struct pci_driver fpga_driver = {
static int __init solos_pci_init(void)
{
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-commit cae49ede00ec3d0cda290b03fee55b72b49efc11
-Author: David Woodhouse <dwmw2@infradead.org>
-Date: Tue Dec 11 14:57:14 2012 +0000
-
- solos-pci: fix double-free of TX skb in DMA mode
-
- We weren't clearing card->tx_skb[port] when processing the TX done interrupt.
- If there wasn't another skb ready to transmit immediately, this led to a
- double-free because we'd free it *again* next time we did have a packet to
- send.
-
- Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
- Cc: stable@kernel.org
- Signed-off-by: David S. Miller <davem@davemloft.net>
-
==
There is a typo here so we do a double lock instead of an unlock.
if(card->fpga_version > LEGACY_BUFFERS)
iowrite32(word, FLASH_BUF + i);
else
-@@ -945,10 +1069,11 @@ static uint32_t fpga_tx(struct solos_car
- for (port = 0; tx_pending; tx_pending >>= 1, port++) {
- if (tx_pending & 1) {
- struct sk_buff *oldskb = card->tx_skb[port];
-- if (oldskb)
-+ if (oldskb) {
- pci_unmap_single(card->dev, SKB_CB(oldskb)->dma_addr,
- oldskb->len, PCI_DMA_TODEVICE);
--
-+ card->tx_skb[port] = NULL;
-+ }
- spin_lock(&card->tx_queue_lock);
- skb = skb_dequeue(&card->tx_queue[port]);
- if (!skb)
-@@ -960,7 +1085,12 @@ static uint32_t fpga_tx(struct solos_car
+@@ -961,7 +1085,12 @@ static uint32_t fpga_tx(struct solos_car
tx_started |= 1 << port;
oldskb = skb; /* We're done with this skb already */
} else if (skb && card->using_dma) {
skb->len, PCI_DMA_TODEVICE);
card->tx_skb[port] = skb;
iowrite32(SKB_CB(skb)->dma_addr,
-@@ -1134,18 +1264,33 @@ static int fpga_probe(struct pci_dev *de
+@@ -1135,18 +1264,33 @@ static int fpga_probe(struct pci_dev *de
db_fpga_upgrade = db_firmware_upgrade = 0;
}
pci_set_drvdata(dev, card);
tasklet_init(&card->tlet, solos_bh, (unsigned long)card);
-@@ -1180,6 +1325,10 @@ static int fpga_probe(struct pci_dev *de
+@@ -1181,6 +1325,10 @@ static int fpga_probe(struct pci_dev *de
if (err)
goto out_free_irq;
return 0;
out_free_irq:
-@@ -1188,6 +1337,7 @@ static int fpga_probe(struct pci_dev *de
+@@ -1189,6 +1337,7 @@ static int fpga_probe(struct pci_dev *de
tasklet_kill(&card->tlet);
out_unmap_both:
pci_set_drvdata(dev, NULL);
pci_iounmap(dev, card->buffers);
out_unmap_config:
-@@ -1290,11 +1440,16 @@ static void fpga_remove(struct pci_dev *
+@@ -1291,11 +1440,16 @@ static void fpga_remove(struct pci_dev *
iowrite32(1, card->config_regs + FPGA_MODE);
(void)ioread32(card->config_regs + FPGA_MODE);
/* The Mellanox Tavor device gives false positive parity errors
* Mark this device with a broken_parity_status, to allow
* PCI scanning code to "skip" this now blacklisted device.
-@@ -2844,6 +2845,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
+@@ -2847,6 +2848,7 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_I
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65f9, quirk_intel_mc_errata);
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x65fa, quirk_intel_mc_errata);
static ktime_t fixup_debug_start(struct pci_dev *dev,
void (*fn)(struct pci_dev *dev))
-@@ -2875,6 +2877,8 @@ static void fixup_debug_report(struct pc
+@@ -2878,6 +2880,8 @@ static void fixup_debug_report(struct pc
}
}
/*
* Some BIOS implementations leave the Intel GPU interrupts enabled,
* even though no one is handling them (f.e. i915 driver is never loaded).
-@@ -2909,6 +2913,8 @@ static void __devinit disable_igfx_irq(s
+@@ -2912,6 +2916,8 @@ static void __devinit disable_igfx_irq(s
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x0102, disable_igfx_irq);
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x010a, disable_igfx_irq);
static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask)
{
u16 cmd;
-@@ -971,3 +986,4 @@ static void __devinit quirk_usb_early_ha
+@@ -973,3 +988,4 @@ static void __devinit quirk_usb_early_ha
}
DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID,
PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff);
--- a/mm/memory.c
+++ b/mm/memory.c
-@@ -1415,6 +1415,7 @@ void zap_page_range(struct vm_area_struc
+@@ -1420,6 +1420,7 @@ void zap_page_range(struct vm_area_struc
mmu_notifier_invalidate_range_end(mm, start, end);
tlb_finish_mmu(&tlb, start, end);
}
FEATURES:=squashfs jffs2
SUBTARGETS=xway ase falcon
-LINUX_VERSION:=3.7.1
+LINUX_VERSION:=3.7.2
CFLAGS=-Os -pipe -mips32r2 -mtune=mips32r2 -fno-caller-saves -mno-branch-likely
INITRAMFS_EXTRA_FILES:=
MAINTAINER:=Florian Fainelli <florian@openwrt.org>
-LINUX_VERSION:=3.7.1
+LINUX_VERSION:=3.7.2
DEVICE_TYPE:=developerboard
kmod-cpu-msr \
soloscli linux-atm br2684ctl ppp-mod-pppoa pppdump pppstats \
hwclock wpad flashrom tc
-LINUX_VERSION:=3.7.1
+LINUX_VERSION:=3.7.2
CS5535_MASK:=0x0E000048
CFLAGS += -march=geode -Os -mmmx -m3dnow -fno-align-jumps -fno-align-functions \