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

Commit c0f37d2a authored by Tony Luck's avatar Tony Luck
Browse files

Merge branches 'release', 'drop_do_IRQ', 'fix_early_irq', 'misc-2.6.37',...

Merge branches 'release', 'drop_do_IRQ', 'fix_early_irq', 'misc-2.6.37', 'next-fixes', 'optimize-unwind', 'remove-compat-h' and 'stack_trace' into release
Loading
Loading
Loading
Loading
+6 −2
Original line number Original line Diff line number Diff line
@@ -3925,8 +3925,10 @@ S: Supported
F:	drivers/mfd/
F:	drivers/mfd/


MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
MULTIMEDIA CARD (MMC), SECURE DIGITAL (SD) AND SDIO SUBSYSTEM
S:	Orphan
M:	Chris Ball <cjb@laptop.org>
L:	linux-mmc@vger.kernel.org
L:	linux-mmc@vger.kernel.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
S:	Maintained
F:	drivers/mmc/
F:	drivers/mmc/
F:	include/linux/mmc/
F:	include/linux/mmc/


@@ -5097,8 +5099,10 @@ S: Maintained
F:	drivers/mmc/host/sdricoh_cs.c
F:	drivers/mmc/host/sdricoh_cs.c


SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) DRIVER
S:	Orphan
M:	Chris Ball <cjb@laptop.org>
L:	linux-mmc@vger.kernel.org
L:	linux-mmc@vger.kernel.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc.git
S:	Maintained
F:	drivers/mmc/host/sdhci.*
F:	drivers/mmc/host/sdhci.*


SECURE DIGITAL HOST CONTROLLER INTERFACE, OPEN FIRMWARE BINDINGS (SDHCI-OF)
SECURE DIGITAL HOST CONTROLLER INTERFACE, OPEN FIRMWARE BINDINGS (SDHCI-OF)
+1 −1
Original line number Original line Diff line number Diff line
VERSION = 2
VERSION = 2
PATCHLEVEL = 6
PATCHLEVEL = 6
SUBLEVEL = 36
SUBLEVEL = 36
EXTRAVERSION = -rc5
EXTRAVERSION = -rc6
NAME = Sheep on Meth
NAME = Sheep on Meth


# *DOCUMENTATION*
# *DOCUMENTATION*
+0 −9
Original line number Original line Diff line number Diff line
@@ -914,15 +914,6 @@ sys_execve:
	jmp	$31, do_sys_execve
	jmp	$31, do_sys_execve
.end sys_execve
.end sys_execve


	.align	4
	.globl	osf_sigprocmask
	.ent	osf_sigprocmask
osf_sigprocmask:
	.prologue 0
	mov	$sp, $18
	jmp	$31, sys_osf_sigprocmask
.end osf_sigprocmask

	.align	4
	.align	4
	.globl	alpha_ni_syscall
	.globl	alpha_ni_syscall
	.ent	alpha_ni_syscall
	.ent	alpha_ni_syscall
+15 −41
Original line number Original line Diff line number Diff line
@@ -41,46 +41,20 @@ static void do_signal(struct pt_regs *, struct switch_stack *,
/*
/*
 * The OSF/1 sigprocmask calling sequence is different from the
 * The OSF/1 sigprocmask calling sequence is different from the
 * C sigprocmask() sequence..
 * C sigprocmask() sequence..
 *
 * how:
 * 1 - SIG_BLOCK
 * 2 - SIG_UNBLOCK
 * 3 - SIG_SETMASK
 *
 * We change the range to -1 .. 1 in order to let gcc easily
 * use the conditional move instructions.
 *
 * Note that we don't need to acquire the kernel lock for SMP
 * operation, as all of this is local to this thread.
 */
 */
SYSCALL_DEFINE3(osf_sigprocmask, int, how, unsigned long, newmask,
SYSCALL_DEFINE2(osf_sigprocmask, int, how, unsigned long, newmask)
		struct pt_regs *, regs)
{
{
	unsigned long oldmask = -EINVAL;
	sigset_t oldmask;

	sigset_t mask;
	if ((unsigned long)how-1 <= 2) {
	unsigned long res;
		long sign = how-2;		/* -1 .. 1 */
		unsigned long block, unblock;

		newmask &= _BLOCKABLE;
		spin_lock_irq(&current->sighand->siglock);
		oldmask = current->blocked.sig[0];

		unblock = oldmask & ~newmask;
		block = oldmask | newmask;
		if (!sign)
			block = unblock;
		if (sign <= 0)
			newmask = block;
		if (_NSIG_WORDS > 1 && sign > 0)
			sigemptyset(&current->blocked);
		current->blocked.sig[0] = newmask;
		recalc_sigpending();
		spin_unlock_irq(&current->sighand->siglock);


		regs->r0 = 0;		/* special no error return */
	siginitset(&mask, newmask & ~_BLOCKABLE);
	res = sigprocmask(how, &mask, &oldmask);
	if (!res) {
		force_successful_syscall_return();
		res = oldmask.sig[0];
	}
	}
	return oldmask;
	return res;
}
}


SYSCALL_DEFINE3(osf_sigaction, int, sig,
SYSCALL_DEFINE3(osf_sigaction, int, sig,
@@ -94,9 +68,9 @@ SYSCALL_DEFINE3(osf_sigaction, int, sig,
		old_sigset_t mask;
		old_sigset_t mask;
		if (!access_ok(VERIFY_READ, act, sizeof(*act)) ||
		if (!access_ok(VERIFY_READ, act, sizeof(*act)) ||
		    __get_user(new_ka.sa.sa_handler, &act->sa_handler) ||
		    __get_user(new_ka.sa.sa_handler, &act->sa_handler) ||
		    __get_user(new_ka.sa.sa_flags, &act->sa_flags))
		    __get_user(new_ka.sa.sa_flags, &act->sa_flags) ||
		    __get_user(mask, &act->sa_mask))
			return -EFAULT;
			return -EFAULT;
		__get_user(mask, &act->sa_mask);
		siginitset(&new_ka.sa.sa_mask, mask);
		siginitset(&new_ka.sa.sa_mask, mask);
		new_ka.ka_restorer = NULL;
		new_ka.ka_restorer = NULL;
	}
	}
@@ -106,9 +80,9 @@ SYSCALL_DEFINE3(osf_sigaction, int, sig,
	if (!ret && oact) {
	if (!ret && oact) {
		if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)) ||
		if (!access_ok(VERIFY_WRITE, oact, sizeof(*oact)) ||
		    __put_user(old_ka.sa.sa_handler, &oact->sa_handler) ||
		    __put_user(old_ka.sa.sa_handler, &oact->sa_handler) ||
		    __put_user(old_ka.sa.sa_flags, &oact->sa_flags))
		    __put_user(old_ka.sa.sa_flags, &oact->sa_flags) ||
		    __put_user(old_ka.sa.sa_mask.sig[0], &oact->sa_mask))
			return -EFAULT;
			return -EFAULT;
		__put_user(old_ka.sa.sa_mask.sig[0], &oact->sa_mask);
	}
	}


	return ret;
	return ret;
+1 −1
Original line number Original line Diff line number Diff line
@@ -58,7 +58,7 @@ sys_call_table:
	.quad sys_open				/* 45 */
	.quad sys_open				/* 45 */
	.quad alpha_ni_syscall
	.quad alpha_ni_syscall
	.quad sys_getxgid
	.quad sys_getxgid
	.quad osf_sigprocmask
	.quad sys_osf_sigprocmask
	.quad alpha_ni_syscall
	.quad alpha_ni_syscall
	.quad alpha_ni_syscall			/* 50 */
	.quad alpha_ni_syscall			/* 50 */
	.quad sys_acct
	.quad sys_acct
Loading