Staging tree fixes for 3.4-rc4
Here are some tiny drivers/staging/ bugfixes. Some build fixes that were recently reported, as well as one kfree bug that is hitting a number of users. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) iEYEABECAAYFAk+dZeoACgkQMUfUDdst+yl3YACghMr131zQer1yIJbXvcTGstR3 TrkAn2X3gPqHnrXUdlGS5zUxeTl0fL5S =wG0/ -----END PGP SIGNATURE----- Merge tag 'staging-3.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging tree fixes from Greg Kroah-Hartman: "Here are some tiny drivers/staging/ bugfixes. Some build fixes that were recently reported, as well as one kfree bug that is hitting a number of users." * tag 'staging-3.4-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: staging: ozwpan: Fix bug where kfree is called twice. staging: octeon-ethernet: fix build errors by including interrupt.h staging: zcache: fix Kconfig crypto dependency staging: tidspbridge: remove usage of OMAP2_L4_IO_ADDRESS
This commit is contained in:
Коммит
de9e24eda3
|
@ -36,6 +36,7 @@
|
|||
#include <linux/prefetch.h>
|
||||
#include <linux/ratelimit.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <net/dst.h>
|
||||
#ifdef CONFIG_XFRM
|
||||
#include <linux/xfrm.h>
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <linux/ip.h>
|
||||
#include <linux/ratelimit.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <net/dst.h>
|
||||
#ifdef CONFIG_XFRM
|
||||
#include <linux/xfrm.h>
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include <linux/etherdevice.h>
|
||||
#include <linux/phy.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/interrupt.h>
|
||||
|
||||
#include <net/dst.h>
|
||||
|
||||
|
|
|
@ -383,8 +383,6 @@ static void oz_tx_frame_free(struct oz_pd *pd, struct oz_tx_frame *f)
|
|||
pd->tx_pool = &f->link;
|
||||
pd->tx_pool_count++;
|
||||
f = 0;
|
||||
} else {
|
||||
kfree(f);
|
||||
}
|
||||
spin_unlock_bh(&pd->tx_frame_lock);
|
||||
if (f)
|
||||
|
|
|
@ -79,10 +79,6 @@
|
|||
#define OMAP343X_CONTROL_IVA2_BOOTADDR (OMAP2_CONTROL_GENERAL + 0x0190)
|
||||
#define OMAP343X_CONTROL_IVA2_BOOTMOD (OMAP2_CONTROL_GENERAL + 0x0194)
|
||||
|
||||
#define OMAP343X_CTRL_REGADDR(reg) \
|
||||
OMAP2_L4_IO_ADDRESS(OMAP343X_CTRL_BASE + (reg))
|
||||
|
||||
|
||||
/* Forward Declarations: */
|
||||
static int bridge_brd_monitor(struct bridge_dev_context *dev_ctxt);
|
||||
static int bridge_brd_read(struct bridge_dev_context *dev_ctxt,
|
||||
|
@ -418,19 +414,27 @@ static int bridge_brd_start(struct bridge_dev_context *dev_ctxt,
|
|||
|
||||
/* Assert RST1 i.e only the RST only for DSP megacell */
|
||||
if (!status) {
|
||||
/*
|
||||
* XXX: ioremapping MUST be removed once ctrl
|
||||
* function is made available.
|
||||
*/
|
||||
void __iomem *ctrl = ioremap(OMAP343X_CTRL_BASE, SZ_4K);
|
||||
if (!ctrl)
|
||||
return -ENOMEM;
|
||||
|
||||
(*pdata->dsp_prm_rmw_bits)(OMAP3430_RST1_IVA2_MASK,
|
||||
OMAP3430_RST1_IVA2_MASK, OMAP3430_IVA2_MOD,
|
||||
OMAP2_RM_RSTCTRL);
|
||||
/* Mask address with 1K for compatibility */
|
||||
__raw_writel(dsp_addr & OMAP3_IVA2_BOOTADDR_MASK,
|
||||
OMAP343X_CTRL_REGADDR(
|
||||
OMAP343X_CONTROL_IVA2_BOOTADDR));
|
||||
ctrl + OMAP343X_CONTROL_IVA2_BOOTADDR);
|
||||
/*
|
||||
* Set bootmode to self loop if dsp_debug flag is true
|
||||
*/
|
||||
__raw_writel((dsp_debug) ? OMAP3_IVA2_BOOTMOD_IDLE : 0,
|
||||
OMAP343X_CTRL_REGADDR(
|
||||
OMAP343X_CONTROL_IVA2_BOOTMOD));
|
||||
ctrl + OMAP343X_CONTROL_IVA2_BOOTMOD);
|
||||
|
||||
iounmap(ctrl);
|
||||
}
|
||||
}
|
||||
if (!status) {
|
||||
|
|
|
@ -53,7 +53,10 @@ int dsp_wdt_init(void)
|
|||
int ret = 0;
|
||||
|
||||
dsp_wdt.sm_wdt = NULL;
|
||||
dsp_wdt.reg_base = OMAP2_L4_IO_ADDRESS(OMAP34XX_WDT3_BASE);
|
||||
dsp_wdt.reg_base = ioremap(OMAP34XX_WDT3_BASE, SZ_4K);
|
||||
if (!dsp_wdt.reg_base)
|
||||
return -ENOMEM;
|
||||
|
||||
tasklet_init(&dsp_wdt.wdt3_tasklet, dsp_wdt_dpc, 0);
|
||||
|
||||
dsp_wdt.fclk = clk_get(NULL, "wdt3_fck");
|
||||
|
@ -99,6 +102,9 @@ void dsp_wdt_exit(void)
|
|||
dsp_wdt.fclk = NULL;
|
||||
dsp_wdt.iclk = NULL;
|
||||
dsp_wdt.sm_wdt = NULL;
|
||||
|
||||
if (dsp_wdt.reg_base)
|
||||
iounmap(dsp_wdt.reg_base);
|
||||
dsp_wdt.reg_base = NULL;
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@ config ZCACHE
|
|||
bool "Dynamic compression of swap pages and clean pagecache pages"
|
||||
# X86 dependency is because zsmalloc uses non-portable pte/tlb
|
||||
# functions
|
||||
depends on (CLEANCACHE || FRONTSWAP) && CRYPTO && X86
|
||||
depends on (CLEANCACHE || FRONTSWAP) && CRYPTO=y && X86
|
||||
select ZSMALLOC
|
||||
select CRYPTO_LZO
|
||||
default n
|
||||
|
|
Загрузка…
Ссылка в новой задаче