[Linux1394-cvslog] rev 641 - trunk
Brought to you by:
aeb,
bencollins
From: SVN U. <ben...@li...> - 2002-10-22 20:28:06
|
Author: bencollins Date: 2002-10-22 16:27:53 -0400 (Tue, 22 Oct 2002) New Revision: 641 Modified: trunk/amdtp.c trunk/cmp.c trunk/eth1394.c trunk/nodemgr.c trunk/raw1394.c trunk/sbp2.c trunk/video1394.c Log: Make sure any kalloc's during add_host check for in_interrupt(). Modified: trunk/amdtp.c ============================================================================== --- trunk/amdtp.c (original) +++ trunk/amdtp.c 2002-10-22 16:27:54.000000000 -0400 @@ -1212,7 +1212,7 @@ if (strcmp(host->driver->name, OHCI1394_DRIVER_NAME) != 0) return; - ah = kmalloc(sizeof *ah, SLAB_KERNEL); + ah = kmalloc(sizeof *ah, in_interrupt() ? SLAB_ATOMIC : SLAB_KERNEL); ah->host = host; ah->ohci = host->hostdata; INIT_LIST_HEAD(&ah->stream_list); Modified: trunk/raw1394.c ============================================================================== --- trunk/raw1394.c (original) +++ trunk/raw1394.c 2002-10-22 16:27:55.000000000 -0400 @@ -182,7 +182,8 @@ struct host_info *hi; unsigned long flags; - hi = (struct host_info *)kmalloc(sizeof(struct host_info), SLAB_KERNEL); + hi = (struct host_info *)kmalloc(sizeof(struct host_info), + in_interrupt() ? SLAB_ATOMIC : SLAB_KERNEL); if (hi != NULL) { INIT_LIST_HEAD(&hi->list); hi->host = host; Modified: trunk/nodemgr.c ============================================================================== --- trunk/nodemgr.c (original) +++ trunk/nodemgr.c 2002-10-22 16:27:55.000000000 -0400 @@ -1323,9 +1323,11 @@ static void nodemgr_add_host(struct hpsb_host *host) { - struct host_info *hi = kmalloc (sizeof (struct host_info), GFP_ATOMIC); + struct host_info *hi; unsigned long flags; + hi = kmalloc(sizeof (struct hpsb_info), in_interrupt() ? SLAB_ATOMIC : SLAB_KERNEL); + if (!hi) { HPSB_ERR ("NodeMgr: out of memory in add host"); return; Modified: trunk/eth1394.c ============================================================================== --- trunk/eth1394.c (original) +++ trunk/eth1394.c 2002-10-22 16:27:55.000000000 -0400 @@ -360,7 +360,7 @@ priv->host = host; hi = (struct host_info *)kmalloc (sizeof (struct host_info), - GFP_KERNEL); + in_interrupt() ? SLAB_ATOMIC : SLAB_KERNEL); if (hi == NULL) goto out; Modified: trunk/sbp2.c ============================================================================== --- trunk/sbp2.c (original) +++ trunk/sbp2.c 2002-10-22 16:27:55.000000000 -0400 @@ -536,7 +536,7 @@ static struct hpsb_protocol_driver sbp2_driver = { .name = "SBP2 Driver", .id_table = sbp2_id_table, - .probe = sbp2_probe, + .probe = sbp2_probe, .disconnect = sbp2_disconnect, .update = sbp2_update }; @@ -1014,7 +1014,7 @@ /* Allocate some memory for our host info structure */ hi = (struct sbp2scsi_host_info *)kmalloc(sizeof(struct sbp2scsi_host_info), - GFP_KERNEL); + in_interrupt() ? SLAB_ATOMIC : SLAB_KERNEL); if (hi == NULL) { SBP2_ERR("out of memory in sbp2_add_host"); Modified: trunk/cmp.c ============================================================================== --- trunk/cmp.c (original) +++ trunk/cmp.c 2002-10-22 16:27:55.000000000 -0400 @@ -158,7 +158,7 @@ { struct cmp_host *ch; - ch = kmalloc(sizeof *ch, SLAB_KERNEL); + ch = kmalloc(sizeof *ch, in_interrupt() ? SLAB_ATOMIC : SLAB_KERNEL); if (ch == NULL) { HPSB_ERR("Failed to allocate cmp_host"); return; Modified: trunk/video1394.c ============================================================================== --- trunk/video1394.c (original) +++ trunk/video1394.c 2002-10-22 16:27:55.000000000 -0400 @@ -1248,18 +1248,15 @@ int video1394_mmap(struct file *file, struct vm_area_struct *vma) { struct file_ctx *ctx = (struct file_ctx *)file->private_data; - struct video_card *video = ctx->video; - struct ti_ohci *ohci = video->ohci; int res = -EINVAL; lock_kernel(); - ohci = video->ohci; - if (ctx->current_ctx == NULL) { - PRINT(KERN_ERR, ohci->id, "Current iso context not set"); + PRINT(KERN_ERR, ctx->video->ohci->id, "Current iso context not set"); } else res = do_iso_mmap(ohci, ctx->current_ctx, vma); unlock_kernel(); + return res; } |