Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 154003 Details for
Bug 235542
kernel-xen 2.6.19 and newer crash if sbp2 firewire is used
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
ieee1394: sbp2: move some memory allocations into non-atomic context and use GFP_DMA32
277-ieee1394-sbp2-move-some-memory-allocations-into-nonatomic-context-and-use-gfp_dma32.patch (text/plain), 2.03 KB, created by
Stefan Richter
on 2007-05-02 23:37:28 UTC
(
hide
)
Description:
ieee1394: sbp2: move some memory allocations into non-atomic context and use GFP_DMA32
Filename:
MIME Type:
Creator:
Stefan Richter
Created:
2007-05-02 23:37:28 UTC
Size:
2.03 KB
patch
obsolete
>ieee1394: sbp2: move some memory allocations into non-atomic context and use GFP_DMA32 > >When the command ORB pool is created, the ORB list won't be accessed >concurrently. Therefore we don't have to take the spinlock there. > >Patch update: Also use GFP_DMA32 for the command ORB pool to avoid >IOMMU bounce buffers. > >Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> >--- > drivers/ieee1394/sbp2.c | 20 +++++--------------- > 1 file changed, 5 insertions(+), 15 deletions(-) > >Index: linux/drivers/ieee1394/sbp2.c >=================================================================== >--- linux.orig/drivers/ieee1394/sbp2.c >+++ linux/drivers/ieee1394/sbp2.c >@@ -469,19 +469,13 @@ static void sbp2util_write_doorbell(stru > static int sbp2util_create_command_orb_pool(struct sbp2_lu *lu) > { > struct sbp2_fwhost_info *hi = lu->hi; >- int i; >- unsigned long flags, orbs; > struct sbp2_command_info *cmd; >+ int i, orbs = sbp2_serialize_io ? 2 : SBP2_MAX_CMDS; > >- orbs = sbp2_serialize_io ? 2 : SBP2_MAX_CMDS; >- >- spin_lock_irqsave(&lu->cmd_orb_lock, flags); > for (i = 0; i < orbs; i++) { >- cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC); >- if (!cmd) { >- spin_unlock_irqrestore(&lu->cmd_orb_lock, flags); >+ cmd = kzalloc(sizeof(*cmd), GFP_KERNEL | GFP_DMA32); >+ if (!cmd) > return -ENOMEM; >- } > cmd->command_orb_dma = dma_map_single(hi->host->device.parent, > &cmd->command_orb, > sizeof(struct sbp2_command_orb), >@@ -493,7 +487,6 @@ static int sbp2util_create_command_orb_p > INIT_LIST_HEAD(&cmd->list); > list_add_tail(&cmd->list, &lu->cmd_orb_completed); > } >- spin_unlock_irqrestore(&lu->cmd_orb_lock, flags); > return 0; > } > >@@ -870,11 +863,8 @@ static int sbp2_start_device(struct sbp2 > if (!lu->login_orb) > goto alloc_fail; > >- if (sbp2util_create_command_orb_pool(lu)) { >- SBP2_ERR("sbp2util_create_command_orb_pool failed!"); >- sbp2_remove_device(lu); >- return -ENOMEM; >- } >+ if (sbp2util_create_command_orb_pool(lu)) >+ goto alloc_fail; > > /* Wait a second before trying to log in. Previously logged in > * initiators need a chance to reconnect. */
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 235542
:
151899
|
152155
|
152624
|
153998
|
154003
|
154609