Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 39059cce authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc/macio: Fix probing of macio devices by using the right of match table
  agp/uninorth: Fix oops caused by flushing too much
  powerpc/pasemi: Update MAINTAINERS file
  powerpc/cell: Fix integer constant warning
  powerpc/kprobes: Remove resume_execution() in kprobes
  powerpc/macio: Don't dereference pointer before null check
parents b01b7dc2 c2cdf6ab
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -3503,9 +3503,8 @@ F: arch/powerpc/platforms/83xx/

LINUX FOR POWERPC PA SEMI PWRFICIENT
M:	Olof Johansson <olof@lixom.net>
W:	http://www.pasemi.com/
L:	linuxppc-dev@ozlabs.org
S:	Supported
S:	Maintained
F:	arch/powerpc/platforms/pasemi/
F:	drivers/*/*pasemi*
F:	drivers/*/*/*pasemi*
+0 −4
Original line number Diff line number Diff line
@@ -123,10 +123,6 @@ static inline struct pci_dev *macio_get_pci_dev(struct macio_dev *mdev)
 */
struct macio_driver
{
	char			*name;
	struct of_device_id	*match_table;
	struct module		*owner;

	int	(*probe)(struct macio_dev* dev, const struct of_device_id *match);
	int	(*remove)(struct macio_dev* dev);

+2 −12
Original line number Diff line number Diff line
@@ -378,17 +378,6 @@ static int __kprobes trampoline_probe_handler(struct kprobe *p,
 * single-stepped a copy of the instruction.  The address of this
 * copy is p->ainsn.insn.
 */
static void __kprobes resume_execution(struct kprobe *p, struct pt_regs *regs)
{
	int ret;
	unsigned int insn = *p->ainsn.insn;

	regs->nip = (unsigned long)p->addr;
	ret = emulate_step(regs, insn);
	if (ret == 0)
		regs->nip = (unsigned long)p->addr + 4;
}

static int __kprobes post_kprobe_handler(struct pt_regs *regs)
{
	struct kprobe *cur = kprobe_running();
@@ -406,7 +395,8 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs)
		cur->post_handler(cur, regs, 0);
	}

	resume_execution(cur, regs);
	/* Adjust nip to after the single-stepped instruction */
	regs->nip = (unsigned long)cur->addr + 4;
	regs->msr |= kcb->kprobe_saved_msr;

	/*Restore back the original saved kprobes variables and continue. */
+1 −1
Original line number Diff line number Diff line
@@ -1066,7 +1066,7 @@ static int __init cell_iommu_fixed_mapping_init(void)
	fbase = _ALIGN_UP(fbase, 1 << IO_SEGMENT_SHIFT);
	fsize = lmb_phys_mem_size();

	if ((fbase + fsize) <= 0x800000000)
	if ((fbase + fsize) <= 0x800000000ul)
		hbase = 0; /* use the device tree window */
	else {
		/* If we're over 32 GB we need to cheat. We can't map all of
+5 −5
Original line number Diff line number Diff line
@@ -1355,8 +1355,11 @@ static struct of_device_id pata_macio_match[] =

static struct macio_driver pata_macio_driver =
{
	.driver = {
		.name 		= "pata-macio",
	.match_table	= pata_macio_match,
		.owner		= THIS_MODULE,
		.of_match_table	= pata_macio_match,
	},
	.probe		= pata_macio_attach,
	.remove		= pata_macio_detach,
#ifdef CONFIG_PM
@@ -1366,9 +1369,6 @@ static struct macio_driver pata_macio_driver =
#ifdef CONFIG_PMAC_MEDIABAY
	.mediabay_event	= pata_macio_mb_event,
#endif
	.driver = {
		.owner		= THIS_MODULE,
	},
};

static const struct pci_device_id pata_macio_pci_match[] = {
Loading