Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff -rupN old/arch/arm/mach-msm/cpuidle.c new/arch/arm/mach-msm/cpuidle.c
- --- old/arch/arm/mach-msm/cpuidle.c 2014-11-23 20:39:12.000000000 +0800
- +++ new/arch/arm/mach-msm/cpuidle.c 2014-12-03 10:40:02.000000000 +0800
- @@ -100,7 +100,6 @@ static int msm_cpuidle_enter(
- &__get_cpu_var(msm_cpuidle_notifiers);
- #endif
- - local_irq_disable();
- #ifdef CONFIG_MSM_SLEEP_STATS
- atomic_notifier_call_chain(head, MSM_CPUIDLE_STATE_ENTER, NULL);
- diff -rupN old/arch/arm/mach-msm/pm-8x60.c new/arch/arm/mach-msm/pm-8x60.c
- --- old/arch/arm/mach-msm/pm-8x60.c 2014-11-23 20:41:52.000000000 +0800
- +++ new/arch/arm/mach-msm/pm-8x60.c 2014-12-03 10:40:02.000000000 +0800
- @@ -343,8 +343,8 @@ mode_sysfs_add_cpu_exit:
- static int __init msm_pm_mode_sysfs_add(void)
- {
- - struct kobject *module_kobj;
- - struct kobject *modes_kobj;
- + struct kobject *module_kobj = NULL;
- + struct kobject *modes_kobj = NULL;
- unsigned int cpu;
- int ret;
- diff -rupN old/drivers/i2c/busses/i2c-qup.c new/drivers/i2c/busses/i2c-qup.c
- --- old/drivers/i2c/busses/i2c-qup.c 2014-10-02 17:59:20.000000000 +0800
- +++ new/drivers/i2c/busses/i2c-qup.c 2014-12-03 11:59:16.000000000 +0800
- @@ -36,6 +36,8 @@ MODULE_LICENSE("GPL v2");
- MODULE_VERSION("0.2");
- MODULE_ALIAS("platform:i2c_qup");
- +#define TEST_RAMDUMP 0
- +
- static int i2c_debug_flag;
- enum {
- QUP_CONFIG = 0x0,
- @@ -285,7 +287,7 @@ qup_i2c_interrupt(int irq, void *devid)
- }
- if (status & I2C_STATUS_ERROR_MASK) {
- - dev_info(dev->dev, "QUP: I2C status flags :0x%x, irq:%d\n",
- + dev_err(dev->dev, "QUP: I2C status flags :0x%x, irq:%d\n",
- status, irq);
- err = status;
- @@ -294,12 +296,11 @@ qup_i2c_interrupt(int irq, void *devid)
- /* Ensure that state is written before ISR exits */
- mb();
- }
- -
- goto intr_done;
- }
- if (status1 & 0x7F) {
- - dev_info(dev->dev, "QUP: QUP status flags :0x%x\n", status1);
- + dev_err(dev->dev, "QUP: QUP status flags :0x%x\n", status1);
- err = -status1;
- if (dev->num_irqs == 1) {
- @@ -754,7 +755,7 @@ static void qup_i2c_recover_bus_busy(str
- __func__, dev->adapter.nr, gpio_clk, gpio_dat);
- if ((gpio_clk == -1) && (gpio_dat == -1)) {
- - dev_info(dev->dev, "Recovery failed due to undefined GPIO's\n");
- + dev_err(dev->dev, "Recovery failed due to undefined GPIO's\n");
- return;
- }
- @@ -762,7 +763,7 @@ static void qup_i2c_recover_bus_busy(str
- for (i = 0; i < ARRAY_SIZE(i2c_rsrcs); ++i) {
- if (msm_gpiomux_write(dev->i2c_gpios[i], GPIOMUX_ACTIVE,
- &recovery_config, &old_gpio_setting[i])) {
- - dev_info(dev->dev, "GPIO pins have no active setting\n");
- + dev_err(dev->dev, "GPIO pins have no active setting\n");
- goto recovery_end;
- }
- }
- diff -rupN old/drivers/input/touchscreen/synaptics_3200.c new/drivers/input/touchscreen/synaptics_3200.c
- --- old/drivers/input/touchscreen/synaptics_3200.c 2014-11-20 18:43:20.000000000 +0800
- +++ new/drivers/input/touchscreen/synaptics_3200.c 2014-12-03 12:39:54.000000000 +0800
- @@ -4064,7 +4064,7 @@ err_check_functionality_failed:
- return ret;
- }
- -static int __devexit synaptics_ts_remove(struct i2c_client *client)
- +static int synaptics_ts_remove(struct i2c_client *client)
- {
- struct synaptics_ts_data *ts = i2c_get_clientdata(client);
- unregister_early_suspend(&ts->early_suspend);
- diff -rupN old/drivers/usb/core/hcd.c new/drivers/usb/core/hcd.c
- --- old/drivers/usb/core/hcd.c 2014-08-18 18:52:28.000000000 +0800
- +++ new/drivers/usb/core/hcd.c 2014-12-03 09:57:30.000000000 +0800
- @@ -44,7 +44,6 @@
- #include "usb.h"
- -#include <mach/board_htc.h>
- @@ -1619,14 +1618,7 @@ void usb_hcd_resume_root_hub (struct usb
- spin_lock_irqsave (&hcd_root_hub_lock, flags);
- if (hcd->rh_registered) {
- set_bit(HCD_FLAG_WAKEUP_PENDING, &hcd->flags);
- -
- - if (hcd->product_desc && !strncmp(hcd->product_desc, "Qualcomm EHCI Host Controller using HSIC", 40)) {
- - if (get_radio_flag() & RADIO_FLAG_USB_UPLOAD)
- - pr_info("%s[%d]: Queue hcd->wakeup_work\n", __FUNCTION__, __LINE__);
- - queue_work(pm_rt_wq, &hcd->wakeup_work);
- - } else
- -
- - queue_work(pm_wq, &hcd->wakeup_work);
- + queue_work(pm_wq, &hcd->wakeup_work);
- }
- spin_unlock_irqrestore (&hcd_root_hub_lock, flags);
- }
- diff -rupN old/drivers/usb/host/ehci-hcd.c new/drivers/usb/host/ehci-hcd.c
- --- old/drivers/usb/host/ehci-hcd.c 2014-08-18 18:52:36.000000000 +0800
- +++ new/drivers/usb/host/ehci-hcd.c 2014-12-03 12:47:18.000000000 +0800
- @@ -788,8 +788,6 @@ static irqreturn_t ehci_irq (struct usb_
- if (unlikely ((status & STS_FATAL) != 0)) {
- ehci_err(ehci, "fatal error\n");
- - if (hcd->driver->dump_qh_qtd)
- - hcd->driver->dump_qh_qtd(hcd);
- if (hcd->driver->dump_regs)
- hcd->driver->dump_regs(hcd);
- diff -rupN old/drivers/usb/host/ehci-msm-hsic.c new/drivers/usb/host/ehci-msm-hsic.c
- --- old/drivers/usb/host/ehci-msm-hsic.c 2014-11-16 21:32:02.000000000 +0800
- +++ new/drivers/usb/host/ehci-msm-hsic.c 2014-12-03 12:30:32.000000000 +0800
- @@ -1,6 +1,6 @@
- /* ehci-msm-hsic.c - HSUSB Host Controller Driver Implementation
- *
- - * Copyright (c) 2011-2012, Code Aurora Forum. All rights reserved.
- + * Copyright (c) 2011-2013, The Linux Foundation. All rights reserved.
- *
- * Partly derived from ehci-fsl.c and ehci-hcd.c
- * Copyright (c) 2000-2004 by David Brownell
- @@ -403,96 +403,6 @@ static inline struct usb_hcd *hsic_to_hc
- return container_of((void *) mehci, struct usb_hcd, hcd_priv);
- }
- -
- -static void dump_qh_qtd(struct usb_hcd *hcd)
- -{
- - struct msm_hsic_hcd *mehci = hcd_to_hsic(hcd);
- - struct ehci_hcd *ehci = &mehci->ehci;
- - struct ehci_qh *head, *qh;
- - struct ehci_qh_hw *hw;
- - struct ehci_qtd *qtd;
- - struct list_head *entry, *tmp;
- - struct ehci_qtd *qtd1;
- -
- - pr_info("-----------------------------DUMPING EHCI QHs & QTDs-------------------------------\n");
- -
- - head = ehci->async;
- - hw = head->hw;
- - pr_info("Current QH: %p\n",head);
- - pr_info("Overlay:\n next %08x, info %x %x, cur qtd %x\n", hw->hw_next, hw->hw_info1, hw->hw_info2, hw->hw_current);
- - qtd = (struct ehci_qtd *)&hw->hw_qtd_next;
- - pr_info("Current QTD: %p\n",qtd);
- - pr_info("td %p, next qtd %08x %08x, token %08x p0=%08x\n", qtd,
- - hc32_to_cpup(ehci, &qtd->hw_next),
- - hc32_to_cpup(ehci, &qtd->hw_alt_next),
- - hc32_to_cpup(ehci, &qtd->hw_token),
- - hc32_to_cpup(ehci, &qtd->hw_buf [0]));
- - if (qtd->hw_buf [1])
- - pr_info(" p1=%08x p2=%08x p3=%08x p4=%08x\n",
- - hc32_to_cpup(ehci, &qtd->hw_buf[1]),
- - hc32_to_cpup(ehci, &qtd->hw_buf[2]),
- - hc32_to_cpup(ehci, &qtd->hw_buf[3]),
- - hc32_to_cpup(ehci, &qtd->hw_buf[4]));
- - pr_info("---------------------------LIST OF QTDs for current QH: %p---------------------------------\n", head);
- - list_for_each_safe (entry, tmp, &head->qtd_list) {
- -
- - qtd1 = list_entry (entry, struct ehci_qtd, qtd_list);
- - pr_info("td %p, next qtd %08x %08x, token %08x p0=%08x\n", qtd1,
- - hc32_to_cpup(ehci, &qtd1->hw_next),
- - hc32_to_cpup(ehci, &qtd1->hw_alt_next),
- - hc32_to_cpup(ehci, &qtd1->hw_token),
- - hc32_to_cpup(ehci, &qtd1->hw_buf [0]));
- - if (qtd->hw_buf [1])
- - pr_info(" p1=%08x p2=%08x p3=%08x p4=%08x\n",
- - hc32_to_cpup(ehci, &qtd1->hw_buf[1]),
- - hc32_to_cpup(ehci, &qtd1->hw_buf[2]),
- - hc32_to_cpup(ehci, &qtd1->hw_buf[3]),
- - hc32_to_cpup(ehci, &qtd1->hw_buf[4]));
- -
- - }
- - qh = head->qh_next.qh;
- - while (qh){
- - pr_info("---------------------------QH %p--------------------------\n",qh);
- - hw = qh->hw;
- - pr_info("Current QH: %p\n",qh);
- - pr_info("Overlay:\n next %08x, info %x %x, cur qtd %x\n", hw->hw_next, hw->hw_info1, hw->hw_info2, hw->hw_current);
- -
- - qtd = (struct ehci_qtd *)&hw->hw_qtd_next;
- - pr_info("Current QTD: %p\n",qtd);
- - pr_info("td %p, next qtd %08x %08x, token %08x p0=%08x\n", qtd,
- - hc32_to_cpup(ehci, &qtd->hw_next),
- - hc32_to_cpup(ehci, &qtd->hw_alt_next),
- - hc32_to_cpup(ehci, &qtd->hw_token),
- - hc32_to_cpup(ehci, &qtd->hw_buf [0]));
- - if (qtd->hw_buf [1])
- - pr_info(" p1=%08x p2=%08x p3=%08x p4=%08x\n",
- - hc32_to_cpup(ehci, &qtd->hw_buf[1]),
- - hc32_to_cpup(ehci, &qtd->hw_buf[2]),
- - hc32_to_cpup(ehci, &qtd->hw_buf[3]),
- - hc32_to_cpup(ehci, &qtd->hw_buf[4]));
- -
- - list_for_each_safe (entry, tmp, &head->qtd_list) {
- -
- - qtd1 = list_entry (entry, struct ehci_qtd, qtd_list);
- - pr_info("td %p, next qtd %08x %08x, token %08x p0=%08x\n", qtd1,
- - hc32_to_cpup(ehci, &qtd1->hw_next),
- - hc32_to_cpup(ehci, &qtd1->hw_alt_next),
- - hc32_to_cpup(ehci, &qtd1->hw_token),
- - hc32_to_cpup(ehci, &qtd1->hw_buf [0]));
- - if (qtd->hw_buf [1])
- - pr_info(" p1=%08x p2=%08x p3=%08x p4=%08x\n",
- - hc32_to_cpup(ehci, &qtd1->hw_buf[1]),
- - hc32_to_cpup(ehci, &qtd1->hw_buf[2]),
- - hc32_to_cpup(ehci, &qtd1->hw_buf[3]),
- - hc32_to_cpup(ehci, &qtd1->hw_buf[4]));
- -
- - }
- -
- - qh = qh->qh_next.qh;
- - }
- -}
- -
- -
- static void dump_hsic_regs(struct usb_hcd *hcd)
- {
- int i;
- @@ -674,19 +584,19 @@ static void register_usb_notification_fu
- #define ULPI_IO_TIMEOUT_USEC (10 * 1000)
- -#define USB_PHY_VDD_DIG_VOL_NONE 0
- -#define USB_PHY_VDD_DIG_VOL_MIN 945000
- -#define USB_PHY_VDD_DIG_VOL_MAX 1320000
- +#define USB_PHY_VDD_DIG_VOL_NONE 0 /*uV */
- +#define USB_PHY_VDD_DIG_VOL_MIN 945000 /* uV */
- +#define USB_PHY_VDD_DIG_VOL_MAX 1320000 /* uV */
- #define HSIC_DBG1_REG 0x38
- -static const int vdd_val[VDD_TYPE_MAX][VDD_VAL_MAX] = {
- - {
- +static int vdd_val[VDD_TYPE_MAX][VDD_VAL_MAX] = {
- + { /* VDD_CX CORNER Voting */
- [VDD_NONE] = RPM_VREG_CORNER_NONE,
- [VDD_MIN] = RPM_VREG_CORNER_NOMINAL,
- [VDD_MAX] = RPM_VREG_CORNER_HIGH,
- },
- - {
- + { /* VDD_CX Voltage Voting */
- [VDD_NONE] = USB_PHY_VDD_DIG_VOL_NONE,
- [VDD_MIN] = USB_PHY_VDD_DIG_VOL_MIN,
- [VDD_MAX] = USB_PHY_VDD_DIG_VOL_MAX,
- @@ -1716,7 +1626,6 @@ static struct hc_driver msm_hsic_driver
- .log_urb_complete = dbg_log_event,
- .dump_regs = dump_hsic_regs,
- - .dump_qh_qtd = dump_qh_qtd,
- .reset_sof_bug_handler = ehci_hsic_reset_sof_bug_handler,
- };
- @@ -2142,7 +2051,6 @@ static int __devinit ehci_hsic_msm_probe
- dev_dbg(mehci->dev, "wakeup_irq: %d\n", mehci->wakeup_irq);
- }
- -
- ret = msm_hsic_init_clocks(mehci, 1);
- if (ret) {
- dev_err(&pdev->dev, "unable to initialize clocks\n");
- @@ -2227,8 +2135,8 @@ static int __devinit ehci_hsic_msm_probe
- msm_bus_scale_register_client(pdata->bus_scale_table);
- if (mehci->bus_perf_client) {
- - mehci->bus_vote = true;
- - queue_work(ehci_wq, &mehci->bus_vote_w);
- + mehci->bus_vote = true;
- + queue_work(ehci_wq, &mehci->bus_vote_w);
- } else {
- dev_err(&pdev->dev, "%s: Failed to register BUS "
- "scaling client!!\n", __func__);
- @@ -2277,15 +2185,6 @@ put_hcd:
- return ret;
- }
- -#if defined(CONFIG_ARCH_APQ8064) && defined(CONFIG_USB_EHCI_MSM_HSIC)
- -extern int mdm_is_in_restart;
- -static void dbg_hsic_usage_count_delay_work_fn(struct work_struct *work)
- -{
- - panic("msm_hsic_host usage count is not 0 !!!");
- -}
- -static DECLARE_DELAYED_WORK(dbg_hsic_usage_count_delay_work, dbg_hsic_usage_count_delay_work_fn);
- -#endif
- -
- static int __devexit ehci_hsic_msm_remove(struct platform_device *pdev)
- {
- struct usb_hcd *hcd = platform_get_drvdata(pdev);
- @@ -2340,21 +2239,6 @@ static int __devexit ehci_hsic_msm_remov
- iounmap(hcd->regs);
- usb_put_hcd(hcd);
- -
- - #if defined(CONFIG_ARCH_APQ8064) && defined(CONFIG_USB_EHCI_MSM_HSIC)
- - if (pdev) {
- - int usage_count = atomic_read(&(pdev->dev.power.usage_count));
- - dev_info(&(pdev->dev), "%s[%d] usage_count is [%d] msm_hsic_host_dev:0x%p &pdev->dev:0x%p mdm_is_in_restart:%d\n",
- - __func__, __LINE__, usage_count, msm_hsic_host_dev, &(pdev->dev), mdm_is_in_restart);
- -
- - if (mdm_is_in_restart && usage_count != 0) {
- - pr_info("%s[%d] !!! usage_count:%d is not 0 !!!\n", __func__, __LINE__, usage_count);
- - atomic_set(&(pdev->dev.power.usage_count), 0);
- - }
- - }
- - #endif
- -
- -
- return 0;
- }
- diff -rupN old/include/linux/pm_runtime.h new/include/linux/pm_runtime.h
- --- old/include/linux/pm_runtime.h 2014-11-17 08:45:14.000000000 +0800
- +++ new/include/linux/pm_runtime.h 2014-12-03 09:58:34.000000000 +0800
- @@ -23,7 +23,6 @@
- #ifdef CONFIG_PM_RUNTIME
- extern struct workqueue_struct *pm_wq;
- -extern struct workqueue_struct *pm_rt_wq;
- extern int __pm_runtime_idle(struct device *dev, int rpmflags);
- extern int __pm_runtime_suspend(struct device *dev, int rpmflags);
- extern int __pm_runtime_resume(struct device *dev, int rpmflags);
- diff -rupN old/include/linux/usb/hcd.h new/include/linux/usb/hcd.h
- --- old/include/linux/usb/hcd.h 2014-08-18 18:52:02.000000000 +0800
- +++ new/include/linux/usb/hcd.h 2014-12-03 12:47:44.000000000 +0800
- @@ -245,7 +245,6 @@ struct hc_driver {
- void (*log_urb_complete)(struct urb *urb, char * event,
- unsigned extra);
- void (*dump_regs)(struct usb_hcd *);
- - void (*dump_qh_qtd)(struct usb_hcd *);
- void (*reset_sof_bug_handler)(struct usb_hcd *hcd, u32 val);
- int (*set_int_latency)(struct usb_hcd *hcd, int latency);
- diff -rupN old/kernel/power/main.c new/kernel/power/main.c
- --- old/kernel/power/main.c 2014-11-17 08:29:32.000000000 +0800
- +++ new/kernel/power/main.c 2014-12-03 10:22:34.000000000 +0800
- @@ -509,7 +509,7 @@ perflock_show(struct kobject *kobj, stru
- if (is_perf_lock_active(&user_cpu_perf_lock) != 0)
- perf_enable |= (1 << PERF_LOCK_INVALID);
- - return sprintf(buf, "%d", perf_enable);
- + return sprintf(buf, "%d\n", perf_enable);
- }
- static inline void user_cpufreq_perf_lock(int level, int val)
- @@ -626,7 +626,7 @@ cpufreq_ceiling_show(struct kobject *kob
- if (is_perf_lock_active(&user_cpu_ceiling_lock) != 0)
- ceiling_enable |= (1 << PERF_LOCK_INVALID);
- - return sprintf(buf, "%d", ceiling_enable);
- + return sprintf(buf, "%d\n", ceiling_enable);
- }
- static inline void user_cpufreq_ceiling_lock(int level, int val)
- @@ -695,7 +695,7 @@ cpunum_floor_show(struct kobject *kobj,
- else
- i++;
- - return sprintf(buf, "%d", i);
- + return sprintf(buf, "%d\n", i);
- }
- static ssize_t
- @@ -734,7 +734,7 @@ cpunum_ceiling_show(struct kobject *kobj
- else
- i++;
- - return sprintf(buf, "%d", i);
- + return sprintf(buf, "%d\n", i);
- }
- static ssize_t
- @@ -841,15 +841,11 @@ static struct attribute_group attr_group
- #ifdef CONFIG_PM_RUNTIME
- struct workqueue_struct *pm_wq;
- -struct workqueue_struct *pm_rt_wq;
- EXPORT_SYMBOL_GPL(pm_wq);
- static int __init pm_start_workqueue(void)
- {
- pm_wq = alloc_workqueue("pm", WQ_FREEZABLE, 0);
- -
- - pm_rt_wq = alloc_workqueue("pm_rt", WQ_FREEZABLE | WQ_HIGHPRI , 0);
- -
- return pm_wq ? 0 : -ENOMEM;
- }
- @@ -875,7 +871,6 @@ static int __init pm_init(void)
- tc_ev_timer.function = &tc_ev_stop;
- tc_ev_processed = 1;
- -
- power_kobj = kobject_create_and_add("power", NULL);
- #ifdef CONFIG_PERFLOCK
- perf_lock_init(&user_cpu_perf_lock, TYPE_PERF_LOCK, PERF_LOCK_HIGHEST, "User CPU Highest Perflock");
- diff -rupN old/kernel/sched/core.c new/kernel/sched/core.c
- --- old/kernel/sched/core.c 2014-11-27 10:51:14.000000000 +0800
- +++ new/kernel/sched/core.c 2014-12-03 10:19:00.000000000 +0800
- @@ -1242,15 +1242,17 @@ static int
- try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags)
- {
- unsigned long flags;
- - int cpu, success = 0;
- + int cpu, src_cpu, success = 0;
- smp_wmb();
- raw_spin_lock_irqsave(&p->pi_lock, flags);
- + src_cpu = task_cpu(p);
- + cpu = src_cpu;
- +
- if (!(p->state & state))
- goto out;
- success = 1;
- - cpu = task_cpu(p);
- if (p->on_rq && ttwu_remote(p, wake_flags))
- goto stat;
- @@ -1273,7 +1275,7 @@ try_to_wake_up(struct task_struct *p, un
- p->sched_class->task_waking(p);
- cpu = select_task_rq(p, SD_BALANCE_WAKE, wake_flags);
- - if (task_cpu(p) != cpu) {
- + if (src_cpu != cpu) {
- wake_flags |= WF_MIGRATED;
- set_task_cpu(p, cpu);
- }
- @@ -1321,8 +1323,7 @@ out:
- int wake_up_process(struct task_struct *p)
- {
- - WARN_ON(task_is_stopped_or_traced(p));
- - return try_to_wake_up(p, TASK_NORMAL, 0);
- + return try_to_wake_up(p, TASK_ALL, 0);
- }
- EXPORT_SYMBOL(wake_up_process);
- @@ -1659,7 +1660,6 @@ unsigned long this_cpu_load(void)
- }
- -
- static atomic_long_t calc_load_tasks;
- static unsigned long calc_load_update;
- unsigned long avenrun[3];
- @@ -1847,7 +1847,6 @@ static void calc_load_account_active(str
- this_rq->calc_load_update += LOAD_FREQ;
- }
- -
- #define DEGRADE_SHIFT 7
- static const unsigned char
- degrade_zero_ticks[CPU_LOAD_IDX_MAX] = {0, 8, 32, 64, 128};
- @@ -3132,7 +3131,7 @@ int sched_setscheduler(struct task_struc
- {
- return __sched_setscheduler(p, policy, param, true);
- }
- -EXPORT_SYMBOL(sched_setscheduler);
- +EXPORT_SYMBOL_GPL(sched_setscheduler);
- int sched_setscheduler_nocheck(struct task_struct *p, int policy,
- const struct sched_param *param)
- @@ -5031,6 +5030,7 @@ struct sched_domain *build_sched_domain(
- if (!sd)
- return child;
- + set_domain_attribute(sd, attr);
- cpumask_and(sched_domain_span(sd), cpu_map, tl->mask(cpu));
- if (child) {
- sd->level = child->level + 1;
- @@ -5038,7 +5038,6 @@ struct sched_domain *build_sched_domain(
- child->parent = sd;
- }
- sd->child = child;
- - set_domain_attribute(sd, attr);
- return sd;
- }
- diff -rupN old/kernel/signal.c new/kernel/signal.c
- --- old/kernel/signal.c 2014-11-17 10:37:42.000000000 +0800
- +++ new/kernel/signal.c 2014-12-03 11:52:24.000000000 +0800
- @@ -1395,7 +1395,6 @@ static void ptrace_stop(int exit_code, i
- if (gstop_done)
- do_notify_parent_cldstop(current, false, why);
- -
- __set_current_state(TASK_RUNNING);
- if (clear_code)
- current->exit_code = 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement