diff options
Diffstat (limited to 'kernel/drivers/firewire')
-rw-r--r-- | kernel/drivers/firewire/core-cdev.c | 2 | ||||
-rw-r--r-- | kernel/drivers/firewire/ohci.c | 5 | ||||
-rw-r--r-- | kernel/drivers/firewire/sbp2.c | 1 |
3 files changed, 6 insertions, 2 deletions
diff --git a/kernel/drivers/firewire/core-cdev.c b/kernel/drivers/firewire/core-cdev.c index 2a3973a7c..36a7c2d89 100644 --- a/kernel/drivers/firewire/core-cdev.c +++ b/kernel/drivers/firewire/core-cdev.c @@ -486,7 +486,7 @@ static int ioctl_get_info(struct client *client, union ioctl_arg *arg) static int add_client_resource(struct client *client, struct client_resource *resource, gfp_t gfp_mask) { - bool preload = !!(gfp_mask & __GFP_WAIT); + bool preload = gfpflags_allow_blocking(gfp_mask); unsigned long flags; int ret; diff --git a/kernel/drivers/firewire/ohci.c b/kernel/drivers/firewire/ohci.c index f51d376d1..c2f5117fd 100644 --- a/kernel/drivers/firewire/ohci.c +++ b/kernel/drivers/firewire/ohci.c @@ -3675,6 +3675,11 @@ static int pci_probe(struct pci_dev *dev, reg_write(ohci, OHCI1394_IsoXmitIntMaskSet, ~0); ohci->it_context_support = reg_read(ohci, OHCI1394_IsoXmitIntMaskSet); + /* JMicron JMB38x often shows 0 at first read, just ignore it */ + if (!ohci->it_context_support) { + ohci_notice(ohci, "overriding IsoXmitIntMask\n"); + ohci->it_context_support = 0xf; + } reg_write(ohci, OHCI1394_IsoXmitIntMaskClear, ~0); ohci->it_context_mask = ohci->it_context_support; ohci->n_it = hweight32(ohci->it_context_mask); diff --git a/kernel/drivers/firewire/sbp2.c b/kernel/drivers/firewire/sbp2.c index c22606fe3..6bac03999 100644 --- a/kernel/drivers/firewire/sbp2.c +++ b/kernel/drivers/firewire/sbp2.c @@ -1611,7 +1611,6 @@ static struct scsi_host_template scsi_driver_template = { .this_id = -1, .sg_tablesize = SG_ALL, .use_clustering = ENABLE_CLUSTERING, - .cmd_per_lun = 1, .can_queue = 1, .sdev_attrs = sbp2_scsi_sysfs_attrs, }; |