* [PATCH] fix more ipr kref problems
@ 2004-08-29 21:51 James Bottomley
2004-08-30 14:01 ` Brian King
0 siblings, 1 reply; 3+ messages in thread
From: James Bottomley @ 2004-08-29 21:51 UTC (permalink / raw)
To: Brian King, Andrew Morton, greg; +Cc: SCSI Mailing List
This was caused by
KREF: make kref_get() return void as it makes sense to do so.
drivers/scsi/ipr.c: In function `ipr_worker_thread':
drivers/scsi/ipr.c:1825: error: wrong type argument to unary exclamation
mark
make[2]: *** [drivers/scsi/ipr.o] Error 1
The fix is fairly simple.
James
===== drivers/scsi/ipr.c 1.25 vs edited =====
--- 1.25/drivers/scsi/ipr.c 2004-08-16 01:40:17 -05:00
+++ edited/drivers/scsi/ipr.c 2004-08-29 16:25:31 -05:00
@@ -1822,10 +1822,11 @@
if (ioa_cfg->sdt_state == GET_DUMP) {
dump = ioa_cfg->dump;
- if (!dump || !kref_get(&dump->kref)) {
+ if (!dump) {
spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
return;
}
+ kref_get(&dump->kref);
spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
ipr_get_ioa_dump(ioa_cfg, dump);
kref_put(&dump->kref, ipr_release_dump);
@@ -2423,11 +2424,11 @@
spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags);
dump = ioa_cfg->dump;
- if (ioa_cfg->sdt_state != DUMP_OBTAINED || !dump || !kref_get(&dump->kref)) {
+ if (ioa_cfg->sdt_state != DUMP_OBTAINED || !dump) {
spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
return 0;
}
-
+ kref_get(&dump->kref);
spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
if (off > dump->driver_dump.hdr.len) {
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] fix more ipr kref problems
2004-08-29 21:51 [PATCH] fix more ipr kref problems James Bottomley
@ 2004-08-30 14:01 ` Brian King
2004-08-30 17:07 ` syslog message Vladimir G. Ivanovic
0 siblings, 1 reply; 3+ messages in thread
From: Brian King @ 2004-08-30 14:01 UTC (permalink / raw)
To: James Bottomley; +Cc: Andrew Morton, greg, SCSI Mailing List
Patch looks good. Thanks.
-Brian
James Bottomley wrote:
> This was caused by
>
> KREF: make kref_get() return void as it makes sense to do so.
>
> drivers/scsi/ipr.c: In function `ipr_worker_thread':
> drivers/scsi/ipr.c:1825: error: wrong type argument to unary exclamation
> mark
> make[2]: *** [drivers/scsi/ipr.o] Error 1
>
> The fix is fairly simple.
>
> James
>
> ===== drivers/scsi/ipr.c 1.25 vs edited =====
> --- 1.25/drivers/scsi/ipr.c 2004-08-16 01:40:17 -05:00
> +++ edited/drivers/scsi/ipr.c 2004-08-29 16:25:31 -05:00
> @@ -1822,10 +1822,11 @@
>
> if (ioa_cfg->sdt_state == GET_DUMP) {
> dump = ioa_cfg->dump;
> - if (!dump || !kref_get(&dump->kref)) {
> + if (!dump) {
> spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
> return;
> }
> + kref_get(&dump->kref);
> spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
> ipr_get_ioa_dump(ioa_cfg, dump);
> kref_put(&dump->kref, ipr_release_dump);
> @@ -2423,11 +2424,11 @@
> spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags);
> dump = ioa_cfg->dump;
>
> - if (ioa_cfg->sdt_state != DUMP_OBTAINED || !dump || !kref_get(&dump->kref)) {
> + if (ioa_cfg->sdt_state != DUMP_OBTAINED || !dump) {
> spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
> return 0;
> }
> -
> + kref_get(&dump->kref);
> spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags);
>
> if (off > dump->driver_dump.hdr.len) {
>
>
--
Brian King
eServer Storage I/O
IBM Linux Technology Center
^ permalink raw reply [flat|nested] 3+ messages in thread
* syslog message
2004-08-30 14:01 ` Brian King
@ 2004-08-30 17:07 ` Vladimir G. Ivanovic
0 siblings, 0 replies; 3+ messages in thread
From: Vladimir G. Ivanovic @ 2004-08-30 17:07 UTC (permalink / raw)
To: SCSI Mailing List
This
kernel: Badness in sym_complete_error at drivers/scsi/sym53c8xx_2/sym_hipd.c:5513
kernel: [<82886a76>] sym_complete_error+0x96/0x233 [sym53c8xx]
kernel: [<8288021f>] sym53c8xx_intr+0x59/0xc5 [sym53c8xx]
kernel: [<021073f1>] handle_IRQ_event+0x21/0x43
kernel: [<02107884>] do_IRQ+0x15f/0x22e
kernel: =======================
kernel: [<021168b6>] smp_apic_timer_interrupt+0x122/0x127
kernel: [<02104018>] default_idle+0x0/0x2c
kernel: [<022d007b>] unix_stream_data_wait+0x28/0x10c
kernel: [<02104041>] default_idle+0x29/0x2c
kernel: [<0210409d>] cpu_idle+0x26/0x3b
kernel: [<0238d78c>] start_kernel+0x1d0/0x1d5
--- Vladimir
--
Vladimir G. Ivanovic http://leonora.org/~vladimir
Palo Alto, CA 94306 +1 650 678 8014
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-08-30 17:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-29 21:51 [PATCH] fix more ipr kref problems James Bottomley
2004-08-30 14:01 ` Brian King
2004-08-30 17:07 ` syslog message Vladimir G. Ivanovic
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox