aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/firewire/fw-cdev.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/drivers/firewire/fw-cdev.c b/drivers/firewire/fw-cdev.c
index 5d402d63799f..dbb76427d529 100644
--- a/drivers/firewire/fw-cdev.c
+++ b/drivers/firewire/fw-cdev.c
@@ -640,6 +640,7 @@ iso_callback(struct fw_iso_context *context, u32 cycle,
640static int ioctl_create_iso_context(struct client *client, void *buffer) 640static int ioctl_create_iso_context(struct client *client, void *buffer)
641{ 641{
642 struct fw_cdev_create_iso_context *request = buffer; 642 struct fw_cdev_create_iso_context *request = buffer;
643 struct fw_iso_context *context;
643 644
644 if (request->channel > 63) 645 if (request->channel > 63)
645 return -EINVAL; 646 return -EINVAL;
@@ -661,15 +662,17 @@ static int ioctl_create_iso_context(struct client *client, void *buffer)
661 return -EINVAL; 662 return -EINVAL;
662 } 663 }
663 664
665 context = fw_iso_context_create(client->device->card,
666 request->type,
667 request->channel,
668 request->speed,
669 request->header_size,
670 iso_callback, client);
671 if (IS_ERR(context))
672 return PTR_ERR(context);
673
664 client->iso_closure = request->closure; 674 client->iso_closure = request->closure;
665 client->iso_context = fw_iso_context_create(client->device->card, 675 client->iso_context = context;
666 request->type,
667 request->channel,
668 request->speed,
669 request->header_size,
670 iso_callback, client);
671 if (IS_ERR(client->iso_context))
672 return PTR_ERR(client->iso_context);
673 676
674 /* We only support one context at this time. */ 677 /* We only support one context at this time. */
675 request->handle = 0; 678 request->handle = 0;