diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-07-18 09:22:45 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-07-18 09:22:45 -0400 |
commit | 5b1f6d81e4c63ae30d92678cc35081001add7674 (patch) | |
tree | 8980816357cfe8df56ca9735da73b75c1ed6d235 /drivers/misc | |
parent | 8397c76a2c209997c7119bede2f26e51d8c786bc (diff) | |
parent | 84a1caf1453c3d44050bd22db958af4a7f99315c (diff) |
Merge 3.5-rc7 into char-misc-next.
This lets us pick up the mei driver changes that we need in order to
handle future merge issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/mei/interrupt.c | 2 | ||||
-rw-r--r-- | drivers/misc/mei/main.c | 11 | ||||
-rw-r--r-- | drivers/misc/mei/wd.c | 2 | ||||
-rw-r--r-- | drivers/misc/sgi-xp/xpc_uv.c | 4 |
4 files changed, 10 insertions, 9 deletions
diff --git a/drivers/misc/mei/interrupt.c b/drivers/misc/mei/interrupt.c index b428b3fe4092..c6ffbbe5a6c0 100644 --- a/drivers/misc/mei/interrupt.c +++ b/drivers/misc/mei/interrupt.c | |||
@@ -830,7 +830,7 @@ static int _mei_irq_thread_read(struct mei_device *dev, s32 *slots, | |||
830 | struct mei_cl *cl, | 830 | struct mei_cl *cl, |
831 | struct mei_io_list *cmpl_list) | 831 | struct mei_io_list *cmpl_list) |
832 | { | 832 | { |
833 | if ((*slots * sizeof(u32)) >= (sizeof(struct mei_msg_hdr) + | 833 | if ((*slots * sizeof(u32)) < (sizeof(struct mei_msg_hdr) + |
834 | sizeof(struct hbm_flow_control))) { | 834 | sizeof(struct hbm_flow_control))) { |
835 | /* return the cancel routine */ | 835 | /* return the cancel routine */ |
836 | list_del(&cb_pos->cb_list); | 836 | list_del(&cb_pos->cb_list); |
diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c index aaf2683ea154..0d98c2ee6fe3 100644 --- a/drivers/misc/mei/main.c +++ b/drivers/misc/mei/main.c | |||
@@ -977,7 +977,7 @@ static int __devinit mei_probe(struct pci_dev *pdev, | |||
977 | err = request_threaded_irq(pdev->irq, | 977 | err = request_threaded_irq(pdev->irq, |
978 | NULL, | 978 | NULL, |
979 | mei_interrupt_thread_handler, | 979 | mei_interrupt_thread_handler, |
980 | 0, mei_driver_name, dev); | 980 | IRQF_ONESHOT, mei_driver_name, dev); |
981 | else | 981 | else |
982 | err = request_threaded_irq(pdev->irq, | 982 | err = request_threaded_irq(pdev->irq, |
983 | mei_interrupt_quick_handler, | 983 | mei_interrupt_quick_handler, |
@@ -987,7 +987,7 @@ static int __devinit mei_probe(struct pci_dev *pdev, | |||
987 | if (err) { | 987 | if (err) { |
988 | dev_err(&pdev->dev, "request_threaded_irq failure. irq = %d\n", | 988 | dev_err(&pdev->dev, "request_threaded_irq failure. irq = %d\n", |
989 | pdev->irq); | 989 | pdev->irq); |
990 | goto unmap_memory; | 990 | goto disable_msi; |
991 | } | 991 | } |
992 | INIT_DELAYED_WORK(&dev->timer_work, mei_timer); | 992 | INIT_DELAYED_WORK(&dev->timer_work, mei_timer); |
993 | if (mei_hw_init(dev)) { | 993 | if (mei_hw_init(dev)) { |
@@ -1018,8 +1018,8 @@ release_irq: | |||
1018 | mei_disable_interrupts(dev); | 1018 | mei_disable_interrupts(dev); |
1019 | flush_scheduled_work(); | 1019 | flush_scheduled_work(); |
1020 | free_irq(pdev->irq, dev); | 1020 | free_irq(pdev->irq, dev); |
1021 | disable_msi: | ||
1021 | pci_disable_msi(pdev); | 1022 | pci_disable_msi(pdev); |
1022 | unmap_memory: | ||
1023 | pci_iounmap(pdev, dev->mem_addr); | 1023 | pci_iounmap(pdev, dev->mem_addr); |
1024 | free_device: | 1024 | free_device: |
1025 | kfree(dev); | 1025 | kfree(dev); |
@@ -1096,6 +1096,8 @@ static void __devexit mei_remove(struct pci_dev *pdev) | |||
1096 | 1096 | ||
1097 | pci_release_regions(pdev); | 1097 | pci_release_regions(pdev); |
1098 | pci_disable_device(pdev); | 1098 | pci_disable_device(pdev); |
1099 | |||
1100 | misc_deregister(&mei_misc_device); | ||
1099 | } | 1101 | } |
1100 | #ifdef CONFIG_PM | 1102 | #ifdef CONFIG_PM |
1101 | static int mei_pci_suspend(struct device *device) | 1103 | static int mei_pci_suspend(struct device *device) |
@@ -1140,7 +1142,7 @@ static int mei_pci_resume(struct device *device) | |||
1140 | err = request_threaded_irq(pdev->irq, | 1142 | err = request_threaded_irq(pdev->irq, |
1141 | NULL, | 1143 | NULL, |
1142 | mei_interrupt_thread_handler, | 1144 | mei_interrupt_thread_handler, |
1143 | 0, mei_driver_name, dev); | 1145 | IRQF_ONESHOT, mei_driver_name, dev); |
1144 | else | 1146 | else |
1145 | err = request_threaded_irq(pdev->irq, | 1147 | err = request_threaded_irq(pdev->irq, |
1146 | mei_interrupt_quick_handler, | 1148 | mei_interrupt_quick_handler, |
@@ -1211,7 +1213,6 @@ module_init(mei_init_module); | |||
1211 | */ | 1213 | */ |
1212 | static void __exit mei_exit_module(void) | 1214 | static void __exit mei_exit_module(void) |
1213 | { | 1215 | { |
1214 | misc_deregister(&mei_misc_device); | ||
1215 | pci_unregister_driver(&mei_driver); | 1216 | pci_unregister_driver(&mei_driver); |
1216 | 1217 | ||
1217 | pr_debug("unloaded successfully.\n"); | 1218 | pr_debug("unloaded successfully.\n"); |
diff --git a/drivers/misc/mei/wd.c b/drivers/misc/mei/wd.c index 0a893389f6cb..5133fd77b91c 100644 --- a/drivers/misc/mei/wd.c +++ b/drivers/misc/mei/wd.c | |||
@@ -341,7 +341,7 @@ static const struct watchdog_ops wd_ops = { | |||
341 | }; | 341 | }; |
342 | static const struct watchdog_info wd_info = { | 342 | static const struct watchdog_info wd_info = { |
343 | .identity = INTEL_AMT_WATCHDOG_ID, | 343 | .identity = INTEL_AMT_WATCHDOG_ID, |
344 | .options = WDIOF_KEEPALIVEPING, | 344 | .options = WDIOF_KEEPALIVEPING | WDIOF_ALARMONLY, |
345 | }; | 345 | }; |
346 | 346 | ||
347 | static struct watchdog_device amt_wd_dev = { | 347 | static struct watchdog_device amt_wd_dev = { |
diff --git a/drivers/misc/sgi-xp/xpc_uv.c b/drivers/misc/sgi-xp/xpc_uv.c index 17bbacb1b4b1..87b251ab6ec5 100644 --- a/drivers/misc/sgi-xp/xpc_uv.c +++ b/drivers/misc/sgi-xp/xpc_uv.c | |||
@@ -452,9 +452,9 @@ xpc_handle_activate_mq_msg_uv(struct xpc_partition *part, | |||
452 | 452 | ||
453 | if (msg->activate_gru_mq_desc_gpa != | 453 | if (msg->activate_gru_mq_desc_gpa != |
454 | part_uv->activate_gru_mq_desc_gpa) { | 454 | part_uv->activate_gru_mq_desc_gpa) { |
455 | spin_lock_irqsave(&part_uv->flags_lock, irq_flags); | 455 | spin_lock(&part_uv->flags_lock); |
456 | part_uv->flags &= ~XPC_P_CACHED_ACTIVATE_GRU_MQ_DESC_UV; | 456 | part_uv->flags &= ~XPC_P_CACHED_ACTIVATE_GRU_MQ_DESC_UV; |
457 | spin_unlock_irqrestore(&part_uv->flags_lock, irq_flags); | 457 | spin_unlock(&part_uv->flags_lock); |
458 | part_uv->activate_gru_mq_desc_gpa = | 458 | part_uv->activate_gru_mq_desc_gpa = |
459 | msg->activate_gru_mq_desc_gpa; | 459 | msg->activate_gru_mq_desc_gpa; |
460 | } | 460 | } |