* [patch] sn2 kmalloc checks
@ 2003-10-17 14:43 Jes Sorensen
0 siblings, 0 replies; only message in thread
From: Jes Sorensen @ 2003-10-17 14:43 UTC (permalink / raw)
To: linux-ia64
Hi David,
Here is another one fixing some missing kmalloc checks and getting rid
of an unused variable in hub_intr_s.
Relative to your 0908 2.6.0-test5
Cheers,
Jes
--- /usr/tmp/TmpDir.1480-0/linux/arch/ia64/sn/io/sn2/shub_intr.c_1.3 Fri Oct 17 07:21:12 2003
+++ linux/arch/ia64/sn/io/sn2/shub_intr.c Fri Oct 17 07:18:57 2003
@@ -1,5 +1,4 @@
-/* $Id: shub_intr.c,v 1.1 2002/02/28 17:31:25 marcelo Exp $
- *
+/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
@@ -50,7 +49,7 @@
vertex_hdl_t owner_dev,
int uncond_nothread)
{
- cpuid_t cpu = 0;
+ cpuid_t cpu;
int vector;
hub_intr_t intr_hdl;
cnodeid_t cnode;
@@ -59,13 +58,12 @@
iopaddr_t xtalk_addr;
struct xtalk_intr_s *xtalk_info;
xwidget_info_t xwidget_info;
- ilvl_t intr_swlevel = 0;
cpu = intr_heuristic(dev, dev_desc, -1, 0, owner_dev, NULL, &vector);
if (cpu = CPU_NONE) {
printk("Unable to allocate interrupt for 0x%p\n", (void *)owner_dev);
- return(0);
+ return NULL;
}
cpuphys = cpu_physical_id(cpu);
@@ -79,8 +77,13 @@
xtalk_addr = SH_II_INT0 | ((unsigned long)nasid << 36) | (1UL << 47);
}
- intr_hdl = snia_kmem_alloc_node(sizeof(struct hub_intr_s), KM_NOSLEEP, cnode);
- ASSERT_ALWAYS(intr_hdl);
+ intr_hdl = kmalloc(sizeof(struct hub_intr_s), GFP_KERNEL);
+ if (!intr_hdl) {
+ printk(KERN_ERR "do_hub_intr_alloc(): Unable to allocate "
+ "memory!\n");
+ return NULL;
+ }
+ memset(intr_hdl, 0, sizeof(struct hub_intr_s));
xtalk_info = &intr_hdl->i_xtalk_info;
xtalk_info->xi_dev = dev;
@@ -92,7 +95,6 @@
xtalk_info->xi_target = xwidget_info_masterid_get(xwidget_info);
}
- intr_hdl->i_swlevel = intr_swlevel;
intr_hdl->i_cpuid = cpu;
intr_hdl->i_bit = vector;
intr_hdl->i_flags |= HUB_INTR_IS_ALLOCED;
@@ -150,7 +152,7 @@
ASSERT(intr_hdl->i_flags & HUB_INTR_IS_ALLOCED);
- rv = intr_connect_level(cpu, vector, intr_hdl->i_swlevel, NULL);
+ rv = intr_connect_level(cpu, vector, 0, NULL);
if (rv < 0) {
return rv;
}
--- /usr/tmp/TmpDir.1480-0/linux/include/asm-ia64/sn/sn2/sn_private.h_1.4 Fri Oct 17 07:21:12 2003
+++ linux/include/asm-ia64/sn/sn2/sn_private.h Fri Oct 3 18:09:13 2003
@@ -159,7 +159,6 @@
*/
struct hub_intr_s {
struct xtalk_intr_s i_xtalk_info; /* standard crosstalk intr info */
- ilvl_t i_swlevel; /* software level for blocking intr */
cpuid_t i_cpuid; /* which cpu */
int i_bit; /* which bit */
int i_flags;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-10-17 14:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-10-17 14:43 [patch] sn2 kmalloc checks Jes Sorensen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.