Skip to content

Commit

Permalink
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Browse files Browse the repository at this point in the history
* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SCSI] esp: Fix build.
  [SPARC]: Fix SA_STATIC_ALLOC value.
  [SPARC64]: Explicitly print return PC when the kernel fault PC is bogus.
  • Loading branch information
Linus Torvalds committed Jul 26, 2006
2 parents 761a126 + 6bc063d commit dab5025
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 9 deletions.
3 changes: 3 additions & 0 deletions arch/sparc64/mm/fault.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/kprobes.h>
#include <linux/kallsyms.h>

#include <asm/page.h>
#include <asm/pgtable.h>
Expand Down Expand Up @@ -132,6 +133,8 @@ static void bad_kernel_pc(struct pt_regs *regs, unsigned long vaddr)

printk(KERN_CRIT "OOPS: Bogus kernel PC [%016lx] in fault handler\n",
regs->tpc);
printk(KERN_CRIT "OOPS: RPC [%016lx]\n", regs->u_regs[15]);
print_symbol("RPC: <%s>\n", regs->u_regs[15]);
printk(KERN_CRIT "OOPS: Fault was to vaddr[%lx]\n", vaddr);
__asm__("mov %%sp, %0" : "=r" (ksp));
show_stack(current, ksp);
Expand Down
12 changes: 4 additions & 8 deletions drivers/scsi/esp.c
Original file line number Diff line number Diff line change
Expand Up @@ -2754,27 +2754,23 @@ static int esp_do_data_finale(struct esp *esp)
*/
static int esp_should_clear_sync(struct scsi_cmnd *sp)
{
u8 cmd1 = sp->cmnd[0];
u8 cmd2 = sp->data_cmnd[0];
u8 cmd = sp->cmnd[0];

/* These cases are for spinning up a disk and
* waiting for that spinup to complete.
*/
if (cmd1 == START_STOP ||
cmd2 == START_STOP)
if (cmd == START_STOP)
return 0;

if (cmd1 == TEST_UNIT_READY ||
cmd2 == TEST_UNIT_READY)
if (cmd == TEST_UNIT_READY)
return 0;

/* One more special case for SCSI tape drives,
* this is what is used to probe the device for
* completion of a rewind or tape load operation.
*/
if (sp->device->type == TYPE_TAPE) {
if (cmd1 == MODE_SENSE ||
cmd2 == MODE_SENSE)
if (cmd == MODE_SENSE)
return 0;
}

Expand Down
2 changes: 1 addition & 1 deletion include/asm-sparc/signal.h
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ struct sigstack {
* statically allocated data.. which is NOT GOOD.
*
*/
#define SA_STATIC_ALLOC 0x80
#define SA_STATIC_ALLOC 0x8000
#endif

#include <asm-generic/signal.h>
Expand Down

0 comments on commit dab5025

Please sign in to comment.