* [PATCH] sbp2: fix check of return value of hpsb_allocate_and_register_addrspace
@ 2006-06-03 0:00 Stefan Richter
2006-06-03 1:35 ` [stable] " Chris Wright
0 siblings, 1 reply; 9+ messages in thread
From: Stefan Richter @ 2006-06-03 0:00 UTC (permalink / raw)
To: Linus Torvalds, stable
Cc: linux1394-devel, linux-kernel, Jody McIntyre, Ben Collins
I added a failure check in patch "sbp2: variable status FIFO address
(fix login timeout)" --- alas for a wrong error value. This is a bug
since Linux 2.6.16. Leads to NULL pointer dereference if the call
failed, and bogus failure handling if call succeeded.
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
---
applies to 2.6.17-rc5
applies to 2.6.16.x after patch ''ohci1394, sbp2: fix "scsi_add_device
failed" with PL-3507 based devices''
Index: linux-2.6.17-rc5/drivers/ieee1394/sbp2.c
===================================================================
--- linux-2.6.17-rc5.orig/drivers/ieee1394/sbp2.c 2006-06-03 01:52:54.000000000 +0200
+++ linux-2.6.17-rc5/drivers/ieee1394/sbp2.c 2006-06-03 01:54:23.000000000 +0200
@@ -845,7 +845,7 @@ static struct scsi_id_instance_data *sbp
&sbp2_highlevel, ud->ne->host, &sbp2_ops,
sizeof(struct sbp2_status_block), sizeof(quadlet_t),
0x010000000000ULL, CSR1212_ALL_SPACE_END);
- if (!scsi_id->status_fifo_addr) {
+ if (scsi_id->status_fifo_addr == ~0ULL) {
SBP2_ERR("failed to allocate status FIFO address range");
goto failed_alloc;
}
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [stable] [PATCH] sbp2: fix check of return value of hpsb_allocate_and_register_addrspace 2006-06-03 0:00 [PATCH] sbp2: fix check of return value of hpsb_allocate_and_register_addrspace Stefan Richter @ 2006-06-03 1:35 ` Chris Wright 2006-06-03 8:37 ` Stefan Richter 0 siblings, 1 reply; 9+ messages in thread From: Chris Wright @ 2006-06-03 1:35 UTC (permalink / raw) To: Stefan Richter Cc: Linus Torvalds, stable, Jody McIntyre, linux1394-devel, Ben Collins, linux-kernel * Stefan Richter (stefanr@s5r6.in-berlin.de) wrote: > I added a failure check in patch "sbp2: variable status FIFO address > (fix login timeout)" --- alas for a wrong error value. This is a bug > since Linux 2.6.16. Leads to NULL pointer dereference if the call > failed, and bogus failure handling if call succeeded. > > Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> > --- > applies to 2.6.17-rc5 > applies to 2.6.16.x after patch ''ohci1394, sbp2: fix "scsi_add_device > failed" with PL-3507 based devices'' > > Index: linux-2.6.17-rc5/drivers/ieee1394/sbp2.c > =================================================================== > --- linux-2.6.17-rc5.orig/drivers/ieee1394/sbp2.c 2006-06-03 01:52:54.000000000 +0200 > +++ linux-2.6.17-rc5/drivers/ieee1394/sbp2.c 2006-06-03 01:54:23.000000000 +0200 > @@ -845,7 +845,7 @@ static struct scsi_id_instance_data *sbp > &sbp2_highlevel, ud->ne->host, &sbp2_ops, > sizeof(struct sbp2_status_block), sizeof(quadlet_t), > 0x010000000000ULL, CSR1212_ALL_SPACE_END); > - if (!scsi_id->status_fifo_addr) { > + if (scsi_id->status_fifo_addr == ~0ULL) { > SBP2_ERR("failed to allocate status FIFO address range"); > goto failed_alloc; > } > Is that enough? failed_alloc: sbp2_remove_device(scsi_id); sbp2_remove_device(scsi_id) if (scsi_id->status_fifo_addr) hpsb_unregister_addrspace() Suppose status_fifo_addr won't match any as->start. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [stable] [PATCH] sbp2: fix check of return value of hpsb_allocate_and_register_addrspace 2006-06-03 1:35 ` [stable] " Chris Wright @ 2006-06-03 8:37 ` Stefan Richter 2006-06-03 9:12 ` Michael Tokarev 0 siblings, 1 reply; 9+ messages in thread From: Stefan Richter @ 2006-06-03 8:37 UTC (permalink / raw) To: Chris Wright Cc: Jody McIntyre, Ben Collins, linux-kernel, Linus Torvalds, linux1394-devel, stable Chris Wright wrote: > * Stefan Richter (stefanr@s5r6.in-berlin.de) wrote: ... >>+++ linux-2.6.17-rc5/drivers/ieee1394/sbp2.c 2006-06-03 01:54:23.000000000 +0200 >>@@ -845,7 +845,7 @@ static struct scsi_id_instance_data *sbp >> &sbp2_highlevel, ud->ne->host, &sbp2_ops, >> sizeof(struct sbp2_status_block), sizeof(quadlet_t), >> 0x010000000000ULL, CSR1212_ALL_SPACE_END); >>- if (!scsi_id->status_fifo_addr) { >>+ if (scsi_id->status_fifo_addr == ~0ULL) { >> SBP2_ERR("failed to allocate status FIFO address range"); >> goto failed_alloc; >> } >> > > > Is that enough? > > failed_alloc: > sbp2_remove_device(scsi_id); > > sbp2_remove_device(scsi_id) > if (scsi_id->status_fifo_addr) > hpsb_unregister_addrspace() > > Suppose status_fifo_addr won't match any as->start. Thanks, here is another bug. An address space beginning at 0 won't be de-registered. But this is not a big issue because 1. a configuration where a FIFO address space starting from 0 is impractical anyway (can occur if CONFIG_IEEE1394_SBP2_PHYS_DMA=N and physical DMA is unavailable from the host adapter, which won't work at the moment) and 2. the address space is a plenty resource (both as a bus address and with respect to the backing data structures) and 3. would be unregistered if the sbp2 module was unloaded. This is not critical for -stable. On the other hand, if hpsb_unregister_addrspace(HL_driver, host, address) with address == ~0ULL (i.e. hpsb_allocate_and_register_addrspace failed before), it would do nothing but burn a few CPU cycles unsuccessfully searching for an address space starting at ~0ULL. Valid address spaces start at an address lower than CSR1212_ALL_SPACE_END == 1ULL << 48. I will post a follow-up patch after breakfast, but it isn't relevant for -stable. Thanks, -- Stefan Richter -=====-=-==- -==- ---== http://arcgraph.de/sr/ ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [stable] [PATCH] sbp2: fix check of return value of hpsb_allocate_and_register_addrspace 2006-06-03 8:37 ` Stefan Richter @ 2006-06-03 9:12 ` Michael Tokarev 2006-06-03 9:31 ` Andreas Schwab 0 siblings, 1 reply; 9+ messages in thread From: Michael Tokarev @ 2006-06-03 9:12 UTC (permalink / raw) To: Stefan Richter Cc: Chris Wright, Jody McIntyre, Ben Collins, linux-kernel, linux1394-devel Stefan Richter wrote: > Chris Wright wrote: >> * Stefan Richter (stefanr@s5r6.in-berlin.de) wrote: > .... >>> +++ linux-2.6.17-rc5/drivers/ieee1394/sbp2.c 2006-06-03 >>> 01:54:23.000000000 +0200 >>> @@ -845,7 +845,7 @@ static struct scsi_id_instance_data *sbp >>> &sbp2_highlevel, ud->ne->host, &sbp2_ops, >>> sizeof(struct sbp2_status_block), sizeof(quadlet_t), >>> 0x010000000000ULL, CSR1212_ALL_SPACE_END); >>> - if (!scsi_id->status_fifo_addr) { >>> + if (scsi_id->status_fifo_addr == ~0ULL) { Umm. Can this ~0ULL constant be #define'd to something? It's way too simple to mis-read it as NULL (or ~NULL whatever). I mean.. I looked at this change for quite some time, trying to figure a difference (!x vs x==NULL), and thinking what's '-0' (~ turned out to be quite similar to - in the font my thunderbird uses). /mjt ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [stable] [PATCH] sbp2: fix check of return value of hpsb_allocate_and_register_addrspace 2006-06-03 9:12 ` Michael Tokarev @ 2006-06-03 9:31 ` Andreas Schwab 2006-06-03 9:43 ` Andrew Morton 0 siblings, 1 reply; 9+ messages in thread From: Andreas Schwab @ 2006-06-03 9:31 UTC (permalink / raw) To: Michael Tokarev Cc: Stefan Richter, Chris Wright, Jody McIntyre, Ben Collins, linux-kernel, linux1394-devel Michael Tokarev <mjt@tls.msk.ru> writes: > Stefan Richter wrote: >> Chris Wright wrote: >>> * Stefan Richter (stefanr@s5r6.in-berlin.de) wrote: >> .... >>>> +++ linux-2.6.17-rc5/drivers/ieee1394/sbp2.c 2006-06-03 >>>> 01:54:23.000000000 +0200 >>>> @@ -845,7 +845,7 @@ static struct scsi_id_instance_data *sbp >>>> &sbp2_highlevel, ud->ne->host, &sbp2_ops, >>>> sizeof(struct sbp2_status_block), sizeof(quadlet_t), >>>> 0x010000000000ULL, CSR1212_ALL_SPACE_END); >>>> - if (!scsi_id->status_fifo_addr) { >>>> + if (scsi_id->status_fifo_addr == ~0ULL) { > > Umm. Can this ~0ULL constant be #define'd to something? > It's way too simple to mis-read it as NULL (or ~NULL whatever). How about writing it as -1? Andreas. -- Andreas Schwab, SuSE Labs, schwab@suse.de SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different." ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [stable] [PATCH] sbp2: fix check of return value of hpsb_allocate_and_register_addrspace 2006-06-03 9:31 ` Andreas Schwab @ 2006-06-03 9:43 ` Andrew Morton 2006-06-03 10:42 ` Stefan Richter 2006-06-03 11:05 ` [PATCH 1/2] sbp2: fix deregistration of status fifo address space Stefan Richter 0 siblings, 2 replies; 9+ messages in thread From: Andrew Morton @ 2006-06-03 9:43 UTC (permalink / raw) To: Andreas Schwab Cc: mjt, stefanr, chrisw, scjody, bcollins, linux-kernel, linux1394-devel On Sat, 03 Jun 2006 11:31:27 +0200 Andreas Schwab <schwab@suse.de> wrote: > Michael Tokarev <mjt@tls.msk.ru> writes: > > > Stefan Richter wrote: > >> Chris Wright wrote: > >>> * Stefan Richter (stefanr@s5r6.in-berlin.de) wrote: > >> .... > >>>> +++ linux-2.6.17-rc5/drivers/ieee1394/sbp2.c 2006-06-03 > >>>> 01:54:23.000000000 +0200 > >>>> @@ -845,7 +845,7 @@ static struct scsi_id_instance_data *sbp > >>>> &sbp2_highlevel, ud->ne->host, &sbp2_ops, > >>>> sizeof(struct sbp2_status_block), sizeof(quadlet_t), > >>>> 0x010000000000ULL, CSR1212_ALL_SPACE_END); > >>>> - if (!scsi_id->status_fifo_addr) { > >>>> + if (scsi_id->status_fifo_addr == ~0ULL) { > > > > Umm. Can this ~0ULL constant be #define'd to something? > > It's way too simple to mis-read it as NULL (or ~NULL whatever). > > How about writing it as -1? > That's preferable. It doesn't actually cause a problem, but status_fifo_addr is defined as u64, which is not `unsigned long long'. On powerpc, for example, u64 is implemented as unsigned long. -1 just works. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [stable] [PATCH] sbp2: fix check of return value of hpsb_allocate_and_register_addrspace 2006-06-03 9:43 ` Andrew Morton @ 2006-06-03 10:42 ` Stefan Richter 2006-06-03 11:05 ` [PATCH 1/2] sbp2: fix deregistration of status fifo address space Stefan Richter 1 sibling, 0 replies; 9+ messages in thread From: Stefan Richter @ 2006-06-03 10:42 UTC (permalink / raw) To: Andrew Morton Cc: Andreas Schwab, scjody, bcollins, mjt, linux-kernel, chrisw, linux1394-devel Andrew Morton wrote: > On Sat, 03 Jun 2006 11:31:27 +0200 > Andreas Schwab <schwab@suse.de> wrote: >>Michael Tokarev <mjt@tls.msk.ru> writes: >>>>>* Stefan Richter (stefanr@s5r6.in-berlin.de) wrote: >>>>>>- if (!scsi_id->status_fifo_addr) { >>>>>>+ if (scsi_id->status_fifo_addr == ~0ULL) { >>> >>>Umm. Can this ~0ULL constant be #define'd to something? >>>It's way too simple to mis-read it as NULL (or ~NULL whatever). >> >>How about writing it as -1? > > That's preferable. > > It doesn't actually cause a problem, but status_fifo_addr is defined as > u64, which is not `unsigned long long'. On powerpc, for example, u64 is > implemented as unsigned long. -1 just works. I have a patch ready which replaces the magic value by a sensibly named preprocessor constant. Will be posted within the hour. Thanks for the comments. -- Stefan Richter -=====-=-==- -==- ---== http://arcgraph.de/sr/ ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/2] sbp2: fix deregistration of status fifo address space 2006-06-03 9:43 ` Andrew Morton 2006-06-03 10:42 ` Stefan Richter @ 2006-06-03 11:05 ` Stefan Richter 2006-06-03 11:08 ` [PATCH 2/2] ieee1394: add preprocessor constant for invalid csr address Stefan Richter 1 sibling, 1 reply; 9+ messages in thread From: Stefan Richter @ 2006-06-03 11:05 UTC (permalink / raw) To: linux1394-devel Cc: Andreas Schwab, scjody, bcollins, mjt, linux-kernel, chrisw, Andrew Morton The proper designator of an invalid CSR address is ~(u64)0, not (u64)0. Use the correct value in initialization and deregistration. Also, scsi_id->sbp2_lun does not need to be initialized twice. (scsi_id was kzalloc'd.) Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Index: linux/drivers/ieee1394/sbp2.c =================================================================== --- linux.orig/drivers/ieee1394/sbp2.c 2006-06-03 02:13:18.000000000 +0200 +++ linux/drivers/ieee1394/sbp2.c 2006-06-03 11:49:18.000000000 +0200 @@ -794,12 +794,12 @@ static struct scsi_id_instance_data *sbp scsi_id->ud = ud; scsi_id->speed_code = IEEE1394_SPEED_100; scsi_id->max_payload_size = sbp2_speedto_max_payload[IEEE1394_SPEED_100]; + scsi_id->status_fifo_addr = ~0ULL; atomic_set(&scsi_id->sbp2_login_complete, 0); INIT_LIST_HEAD(&scsi_id->sbp2_command_orb_inuse); INIT_LIST_HEAD(&scsi_id->sbp2_command_orb_completed); INIT_LIST_HEAD(&scsi_id->scsi_list); spin_lock_init(&scsi_id->sbp2_command_orb_lock); - scsi_id->sbp2_lun = 0; ud->device.driver_data = scsi_id; @@ -1090,7 +1090,7 @@ static void sbp2_remove_device(struct sc SBP2_DMA_FREE("single query logins data"); } - if (scsi_id->status_fifo_addr) + if (scsi_id->status_fifo_addr != ~0ULL) hpsb_unregister_addrspace(&sbp2_highlevel, hi->host, scsi_id->status_fifo_addr); ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/2] ieee1394: add preprocessor constant for invalid csr address 2006-06-03 11:05 ` [PATCH 1/2] sbp2: fix deregistration of status fifo address space Stefan Richter @ 2006-06-03 11:08 ` Stefan Richter 0 siblings, 0 replies; 9+ messages in thread From: Stefan Richter @ 2006-06-03 11:08 UTC (permalink / raw) To: linux1394-devel Cc: Andreas Schwab, scjody, bcollins, mjt, linux-kernel, chrisw, Andrew Morton Replace occurrences of the magic value ~(u64)0 for invalid CSR address spaces by a named constant for better readability. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> --- drivers/ieee1394/csr1212.c | 2 +- drivers/ieee1394/csr1212.h | 1 + drivers/ieee1394/highlevel.c | 9 +++++---- drivers/ieee1394/eth1394.c | 16 +++++++--------- drivers/ieee1394/eth1394.h | 2 -- drivers/ieee1394/sbp2.c | 8 ++++---- 6 files changed, 18 insertions(+), 20 deletions(-) Index: linux/drivers/ieee1394/csr1212.h =================================================================== --- linux.orig/drivers/ieee1394/csr1212.h 2006-04-24 22:20:24.000000000 +0200 +++ linux/drivers/ieee1394/csr1212.h 2006-06-03 12:52:32.000000000 +0200 @@ -192,6 +192,7 @@ #define CSR1212_EXTENDED_ROM_SIZE (0x10000 * sizeof(u_int32_t)) +#define CSR1212_INVALID_ADDR_SPACE -1 /* Config ROM image structures */ struct csr1212_bus_info_block_img { Index: linux/drivers/ieee1394/csr1212.c =================================================================== --- linux.orig/drivers/ieee1394/csr1212.c 2006-04-24 22:20:24.000000000 +0200 +++ linux/drivers/ieee1394/csr1212.c 2006-06-03 12:12:20.000000000 +0200 @@ -779,7 +779,7 @@ static int csr1212_append_new_cache(stru romsize = (romsize + (csr->max_rom - 1)) & ~(csr->max_rom - 1); csr_addr = csr->ops->allocate_addr_range(romsize, csr->max_rom, csr->private); - if (csr_addr == ~0ULL) { + if (csr_addr == CSR1212_INVALID_ADDR_SPACE) { return CSR1212_ENOMEM; } if (csr_addr < CSR1212_REGISTER_SPACE_BASE) { Index: linux/drivers/ieee1394/highlevel.c =================================================================== --- linux.orig/drivers/ieee1394/highlevel.c 2006-06-03 02:13:18.000000000 +0200 +++ linux/drivers/ieee1394/highlevel.c 2006-06-03 12:18:23.000000000 +0200 @@ -301,7 +301,7 @@ u64 hpsb_allocate_and_register_addrspace { struct hpsb_address_serve *as, *a1, *a2; struct list_head *entry; - u64 retval = ~0ULL; + u64 retval = CSR1212_INVALID_ADDR_SPACE; unsigned long flags; u64 align_mask = ~(alignment - 1); @@ -315,9 +315,10 @@ u64 hpsb_allocate_and_register_addrspace /* default range, * avoids controller's posted write area (see OHCI 1.1 clause 1.5) */ - if (start == ~0ULL && end == ~0ULL) { + if (start == CSR1212_INVALID_ADDR_SPACE && + end == CSR1212_INVALID_ADDR_SPACE) { start = host->middle_addr_space; - end = CSR1212_ALL_SPACE_END; + end = CSR1212_ALL_SPACE_END; } if (((start|end) & ~align_mask) || (start >= end) || (end > 0x1000000000000ULL)) { @@ -361,7 +362,7 @@ u64 hpsb_allocate_and_register_addrspace write_unlock_irqrestore(&addr_space_lock, flags); - if (retval == ~0ULL) { + if (retval == CSR1212_INVALID_ADDR_SPACE) { kfree(as); } Index: linux/drivers/ieee1394/eth1394.h =================================================================== --- linux.orig/drivers/ieee1394/eth1394.h 2006-04-24 22:20:24.000000000 +0200 +++ linux/drivers/ieee1394/eth1394.h 2006-06-03 12:14:40.000000000 +0200 @@ -32,8 +32,6 @@ * S3200 (per Table 16-3 of IEEE 1394b-2002). */ #define ETHER1394_REGION_ADDR_LEN 4096 -#define ETHER1394_INVALID_ADDR ~0ULL - /* GASP identifier numbers for IPv4 over IEEE 1394 */ #define ETHER1394_GASP_SPECIFIER_ID 0x00005E #define ETHER1394_GASP_SPECIFIER_ID_HI ((ETHER1394_GASP_SPECIFIER_ID >> 8) & 0xffff) Index: linux/drivers/ieee1394/eth1394.c =================================================================== --- linux.orig/drivers/ieee1394/eth1394.c 2006-06-03 02:13:18.000000000 +0200 +++ linux/drivers/ieee1394/eth1394.c 2006-06-03 12:22:44.000000000 +0200 @@ -367,7 +367,7 @@ static int eth1394_probe(struct device * spin_lock_init(&node_info->pdg.lock); INIT_LIST_HEAD(&node_info->pdg.list); node_info->pdg.sz = 0; - node_info->fifo = ETHER1394_INVALID_ADDR; + node_info->fifo = CSR1212_INVALID_ADDR_SPACE; ud->device.driver_data = node_info; new_node->ud = ud; @@ -566,13 +566,11 @@ static void ether1394_add_host (struct h if (!(host->config_roms & HPSB_CONFIG_ROM_ENTRY_IP1394)) return; - fifo_addr = hpsb_allocate_and_register_addrspace(ð1394_highlevel, - host, - &addr_ops, - ETHER1394_REGION_ADDR_LEN, - ETHER1394_REGION_ADDR_LEN, - -1, -1); - if (fifo_addr == ~0ULL) + fifo_addr = hpsb_allocate_and_register_addrspace( + ð1394_highlevel, host, &addr_ops, + ETHER1394_REGION_ADDR_LEN, ETHER1394_REGION_ADDR_LEN, + CSR1212_INVALID_ADDR_SPACE, CSR1212_INVALID_ADDR_SPACE); + if (fifo_addr == CSR1212_INVALID_ADDR_SPACE) goto out; /* We should really have our own alloc_hpsbdev() function in @@ -1686,7 +1684,7 @@ static int ether1394_tx (struct sk_buff goto fail; } node_info = (struct eth1394_node_info*)node->ud->device.driver_data; - if (node_info->fifo == ETHER1394_INVALID_ADDR) { + if (node_info->fifo == CSR1212_INVALID_ADDR_SPACE) { ret = -EAGAIN; goto fail; } Index: linux/drivers/ieee1394/sbp2.c =================================================================== --- linux.orig/drivers/ieee1394/sbp2.c 2006-06-03 11:49:18.000000000 +0200 +++ linux/drivers/ieee1394/sbp2.c 2006-06-03 12:27:16.000000000 +0200 @@ -794,7 +794,7 @@ static struct scsi_id_instance_data *sbp scsi_id->ud = ud; scsi_id->speed_code = IEEE1394_SPEED_100; scsi_id->max_payload_size = sbp2_speedto_max_payload[IEEE1394_SPEED_100]; - scsi_id->status_fifo_addr = ~0ULL; + scsi_id->status_fifo_addr = CSR1212_INVALID_ADDR_SPACE; atomic_set(&scsi_id->sbp2_login_complete, 0); INIT_LIST_HEAD(&scsi_id->sbp2_command_orb_inuse); INIT_LIST_HEAD(&scsi_id->sbp2_command_orb_completed); @@ -848,7 +848,7 @@ static struct scsi_id_instance_data *sbp &sbp2_highlevel, ud->ne->host, &sbp2_ops, sizeof(struct sbp2_status_block), sizeof(quadlet_t), ud->ne->host->low_addr_space, CSR1212_ALL_SPACE_END); - if (scsi_id->status_fifo_addr == ~0ULL) { + if (scsi_id->status_fifo_addr == CSR1212_INVALID_ADDR_SPACE) { SBP2_ERR("failed to allocate status FIFO address range"); goto failed_alloc; } @@ -1090,9 +1090,9 @@ static void sbp2_remove_device(struct sc SBP2_DMA_FREE("single query logins data"); } - if (scsi_id->status_fifo_addr != ~0ULL) + if (scsi_id->status_fifo_addr != CSR1212_INVALID_ADDR_SPACE) hpsb_unregister_addrspace(&sbp2_highlevel, hi->host, - scsi_id->status_fifo_addr); + scsi_id->status_fifo_addr); scsi_id->ud->device.driver_data = NULL; ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2006-06-03 11:10 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-06-03 0:00 [PATCH] sbp2: fix check of return value of hpsb_allocate_and_register_addrspace Stefan Richter 2006-06-03 1:35 ` [stable] " Chris Wright 2006-06-03 8:37 ` Stefan Richter 2006-06-03 9:12 ` Michael Tokarev 2006-06-03 9:31 ` Andreas Schwab 2006-06-03 9:43 ` Andrew Morton 2006-06-03 10:42 ` Stefan Richter 2006-06-03 11:05 ` [PATCH 1/2] sbp2: fix deregistration of status fifo address space Stefan Richter 2006-06-03 11:08 ` [PATCH 2/2] ieee1394: add preprocessor constant for invalid csr address Stefan Richter
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®