302378534c
To fix the following lockdep warning we turn the spin_unlock_irq() into a spin_unlock() and similarly for the corresponding spin_lock_irq(). We can do this because there is no need to enable interrupts in this path (thanks to Bring King for the tip). Badness at kernel/lockdep.c:2193 NIP: c0000000000855d0 LR: c0000000000855b4 CTR: c0000000000482d0 REGS: c00000000fffb8d0 TRAP: 0700 Not tainted (2.6.28-rc5-autokern1) MSR: 8000000000021032 <ME,IR,DR> CR: 28000022 XER: 00000004 TASK = c00000000091fa80[0] 'swapper' THREAD: c000000000a3c000 CPU: 0 GPR00: 0000000000000000 c00000000fffbb50 c000000000a3c2e0 0000000000000001 GPR04: 000000000000a580 c0000000003870d4 0000000000000000 0000000000000001 GPR08: 0000000000000000 c00000000112fdf0 c0000000008ed918 c000000000abcfd0 GPR12: 0000000048000088 c000000000a7f300 0000000000000000 0000000002100000 GPR16: c000000000644bd0 c000000000643390 0000000000000000 00000000003d0c00 GPR20: 00000000028372d8 c0000000007372d8 0000000002837548 c000000000737548 GPR24: c000000000644660 00000000028372d8 000000000000001a c000000076760000 GPR28: 0000000000000004 c0000000004e8450 c0000000009aafb0 c00000000091fa80 NIP [c0000000000855d0] .trace_hardirqs_on_caller+0x10c/0x194 LR [c0000000000855b4] .trace_hardirqs_on_caller+0xf0/0x194 Call Trace: [c00000000fffbb50] [c00000000fffbbe0] 0xc00000000fffbbe0 (unreliable) [c00000000fffbbe0] [c0000000004e8450] ._spin_unlock_irq+0x38/0x5c [c00000000fffbc70] [c0000000003870d4] .ipr_ioa_reset_done+0x204/0x284 [c00000000fffbd10] [c00000000037d234] .ipr_reset_ioa_job+0xc4/0xec [c00000000fffbda0] [c000000000385ce0] .ipr_isr+0x208/0x484 [c00000000fffbe50] [c0000000000aaf3c] .handle_IRQ_event+0x58/0xd4 [c00000000fffbef0] [c0000000000ad978] .handle_fasteoi_irq+0x110/0x1ac [c00000000fffbf90] [c000000000025214] .call_handle_irq+0x1c/0x2c [c000000000a3f9a0] [c00000000000d168] .do_IRQ+0x120/0x210 [c000000000a3fa40] [c000000000004804] hardware_interrupt_entry+0x1c/0x98 --- Exception: 501 at .pseries_dedicated_idle_sleep+0xec/0x1cc LR = .pseries_dedicated_idle_sleep+0xdc/0x1cc [c000000000a3fd30] [c000000000038208] .pseries_dedicated_idle_sleep+0x74/0x1cc (unreliable) [c000000000a3fdd0] [c000000000012134] .cpu_idle+0x114/0x1dc [c000000000a3fe60] [c0000000004ecb18] .rest_init+0x7c/0x94 [c000000000a3fee0] [c000000000700a40] .start_kernel+0x4b8/0x4e0 [c000000000a3ff90] [c000000000008368] .start_here_common+0x1c/0x34 Instruction dump: e92d01b0 80090894 2f800000 41be002c 481ed1d1 60000000 2fa30000 419e0080 e93e8090 80090000 2f800000 409e0070 <0fe00000> 48000068 7fe3fb78 38800001 Signed-off-by: Mark Nelson <markn@au1.ibm.com> Acked-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com> |
||
---|---|---|
.. | ||
aacraid | ||
aic7xxx | ||
aic7xxx_old | ||
aic94xx | ||
arcmsr | ||
arm | ||
device_handler | ||
dpt | ||
fcoe | ||
ibmvscsi | ||
libfc | ||
libsas | ||
lpfc | ||
megaraid | ||
pcmcia | ||
qla2xxx | ||
qla4xxx | ||
sym53c8xx_2 | ||
.gitignore | ||
3w-9xxx.c | ||
3w-9xxx.h | ||
3w-xxxx.c | ||
3w-xxxx.h | ||
53c700_d.h_shipped | ||
53c700.c | ||
53c700.h | ||
53c700.scr | ||
a100u2w.c | ||
a100u2w.h | ||
a2091.c | ||
a2091.h | ||
a3000.c | ||
a3000.h | ||
a4000t.c | ||
advansys.c | ||
aha152x.c | ||
aha152x.h | ||
aha1542.c | ||
aha1542.h | ||
aha1740.c | ||
aha1740.h | ||
aic7xxx_old.c | ||
atari_NCR5380.c | ||
atari_scsi.c | ||
atari_scsi.h | ||
atp870u.c | ||
atp870u.h | ||
BusLogic.c | ||
BusLogic.h | ||
bvme6000_scsi.c | ||
ch.c | ||
constants.c | ||
dc395x.c | ||
dc395x.h | ||
dmx3191d.c | ||
dpt_i2o.c | ||
dpti.h | ||
dtc.c | ||
dtc.h | ||
eata_generic.h | ||
eata_pio.c | ||
eata_pio.h | ||
eata.c | ||
esp_scsi.c | ||
esp_scsi.h | ||
fd_mcs.c | ||
fdomain.c | ||
fdomain.h | ||
FlashPoint.c | ||
g_NCR5380_mmio.c | ||
g_NCR5380.c | ||
g_NCR5380.h | ||
gdth_ioctl.h | ||
gdth_proc.c | ||
gdth_proc.h | ||
gdth.c | ||
gdth.h | ||
gvp11.c | ||
gvp11.h | ||
hosts.c | ||
hptiop.c | ||
hptiop.h | ||
ibmmca.c | ||
ide-scsi.c | ||
imm.c | ||
imm.h | ||
in2000.c | ||
in2000.h | ||
initio.c | ||
initio.h | ||
ipr.c | ||
ipr.h | ||
ips.c | ||
ips.h | ||
iscsi_tcp.c | ||
iscsi_tcp.h | ||
jazz_esp.c | ||
Kconfig | ||
lasi700.c | ||
libiscsi_tcp.c | ||
libiscsi.c | ||
libsrp.c | ||
mac53c94.c | ||
mac53c94.h | ||
mac_esp.c | ||
mac_scsi.c | ||
mac_scsi.h | ||
Makefile | ||
megaraid.c | ||
megaraid.h | ||
mesh.c | ||
mesh.h | ||
mvme16x_scsi.c | ||
mvme147.c | ||
mvme147.h | ||
mvsas.c | ||
ncr53c8xx.c | ||
ncr53c8xx.h | ||
NCR53c406a.c | ||
NCR5380.c | ||
NCR5380.h | ||
NCR_D700.c | ||
NCR_D700.h | ||
NCR_Q720.c | ||
NCR_Q720.h | ||
nsp32_debug.c | ||
nsp32_io.h | ||
nsp32.c | ||
nsp32.h | ||
osst_detect.h | ||
osst_options.h | ||
osst.c | ||
osst.h | ||
pas16.c | ||
pas16.h | ||
ppa.c | ||
ppa.h | ||
ps3rom.c | ||
ql1040_fw.h | ||
ql1280_fw.h | ||
ql12160_fw.h | ||
qla1280.c | ||
qla1280.h | ||
qlogicfas408.c | ||
qlogicfas408.h | ||
qlogicfas.c | ||
qlogicpti_asm.c | ||
qlogicpti.c | ||
qlogicpti.h | ||
raid_class.c | ||
script_asm.pl | ||
scsi_debug.c | ||
scsi_devinfo.c | ||
scsi_error.c | ||
scsi_ioctl.c | ||
scsi_lib_dma.c | ||
scsi_lib.c | ||
scsi_logging.h | ||
scsi_module.c | ||
scsi_netlink.c | ||
scsi_priv.h | ||
scsi_proc.c | ||
scsi_sas_internal.h | ||
scsi_scan.c | ||
scsi_sysctl.c | ||
scsi_sysfs.c | ||
scsi_tgt_if.c | ||
scsi_tgt_lib.c | ||
scsi_tgt_priv.h | ||
scsi_transport_api.h | ||
scsi_transport_fc_internal.h | ||
scsi_transport_fc.c | ||
scsi_transport_iscsi.c | ||
scsi_transport_sas.c | ||
scsi_transport_spi.c | ||
scsi_transport_srp_internal.h | ||
scsi_transport_srp.c | ||
scsi_typedefs.h | ||
scsi_wait_scan.c | ||
scsi.c | ||
scsi.h | ||
scsicam.c | ||
sd_dif.c | ||
sd.c | ||
sd.h | ||
ses.c | ||
sg.c | ||
sgiwd93.c | ||
sim710.c | ||
sni_53c710.c | ||
sr_ioctl.c | ||
sr_vendor.c | ||
sr.c | ||
sr.h | ||
st_options.h | ||
st.c | ||
st.h | ||
stex.c | ||
sun3_NCR5380.c | ||
sun3_scsi_vme.c | ||
sun3_scsi.c | ||
sun3_scsi.h | ||
sun3x_esp.c | ||
sun_esp.c | ||
sym53c416.c | ||
sym53c416.h | ||
t128.c | ||
t128.h | ||
tmscsim.c | ||
tmscsim.h | ||
u14-34f.c | ||
ultrastor.c | ||
ultrastor.h | ||
wd33c93.c | ||
wd33c93.h | ||
wd7000.c | ||
zalon.c | ||
zorro7xx.c |