diff for duplicates of <20100802113316.GJ9784@axis.com> diff --git a/a/1.txt b/N1/1.txt index 45f25b9..049f449 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -56,7 +56,7 @@ index 080927f..a570101 100644 + spin_lock_irqsave(&gpio_lock, flags); if (USE_PORTS(priv)) { ret = *priv->port; - } else if (priv->minor = GPIO_MINOR_G) { + } else if (priv->minor == GPIO_MINOR_G) { ret = (*R_PORT_G_DATA) & 0x7FFFFFFF; } + spin_unlock_irqrestore(&gpio_lock, flags); @@ -68,8 +68,9 @@ index 080927f..a570101 100644 + if (USE_PORTS(priv)) { - *priv->port = *priv->shadow |= -+ *priv->port = *priv->shadow | ((unsigned char)arg & priv->changeable_bits); - } else if (priv->minor = GPIO_MINOR_G) { ++ *priv->port = *priv->shadow |= + ((unsigned char)arg & priv->changeable_bits); + } else if (priv->minor == GPIO_MINOR_G) { *R_PORT_G_DATA = port_g_data_shadow |= (arg & dir_g_out_bits); } + spin_unlock_irqrestore(&gpio_lock, flags); @@ -80,8 +81,9 @@ index 080927f..a570101 100644 + spin_lock_irqsave(&gpio_lock, flags); if (USE_PORTS(priv)) { - *priv->port = *priv->shadow &= -+ *priv->port = *priv->shadow & ~((unsigned char)arg & priv->changeable_bits); - } else if (priv->minor = GPIO_MINOR_G) { ++ *priv->port = *priv->shadow &= + ~((unsigned char)arg & priv->changeable_bits); + } else if (priv->minor == GPIO_MINOR_G) { *R_PORT_G_DATA = port_g_data_shadow &= ~((unsigned long)arg & dir_g_out_bits); } + spin_unlock_irqrestore(&gpio_lock, flags); @@ -127,7 +129,7 @@ index 080927f..a570101 100644 + spin_lock_irqsave(&gpio_lock, flags); if (USE_PORTS(priv)) { ret = *priv->dir_shadow; - } else if (priv->minor = GPIO_MINOR_G) { + } else if (priv->minor == GPIO_MINOR_G) { @@ -585,30 +596,40 @@ gpio_ioctl_unlocked(struct file *file, unsigned int cmd, unsigned long arg) */ ret = (dir_g_shadow | dir_g_out_bits) & 0x7FFFFFFF; @@ -185,7 +187,7 @@ index 080927f..a570101 100644 + spin_lock_irqsave(&gpio_lock, flags); if (USE_PORTS(priv)) { val = *priv->port; - } else if (priv->minor = GPIO_MINOR_G) { + } else if (priv->minor == GPIO_MINOR_G) { val = *R_PORT_G_DATA; } + spin_unlock_irqrestore(&gpio_lock, flags); @@ -197,7 +199,7 @@ index 080927f..a570101 100644 + spin_lock_irqsave(&gpio_lock, flags); if (USE_PORTS(priv)) { val = *priv->shadow; - } else if (priv->minor = GPIO_MINOR_G) { + } else if (priv->minor == GPIO_MINOR_G) { val = port_g_data_shadow; } + spin_unlock_irqrestore(&gpio_lock, flags); @@ -231,7 +233,7 @@ index 080927f..a570101 100644 break; default: + spin_lock_irqsave(&gpio_lock, flags); - if (priv->minor = GPIO_MINOR_LEDS) + if (priv->minor == GPIO_MINOR_LEDS) ret = gpio_leds_ioctl(cmd, arg); else ret = -EINVAL; diff --git a/a/content_digest b/N1/content_digest index 311017b..5277859 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,7 +1,7 @@ "ref\01280410338-21501-1-git-send-email-segooon@gmail.com\0" "From\0Jesper Nilsson <Jesper.Nilsson@axis.com>\0" - "Subject\0Re: [PATCH] cris: gpio: do not call\0" - "Date\0Mon, 02 Aug 2010 11:33:16 +0000\0" + "Subject\0Re: [PATCH] cris: gpio: do not call copy_to_user()/copy_from_user() while holding spinlocks\0" + "Date\0Mon, 2 Aug 2010 13:33:16 +0200\0" "To\0Kulikov Vasiliy <segooon@gmail.com>\0" "Cc\0kernel-janitors@vger.kernel.org <kernel-janitors@vger.kernel.org>" Mikael Starvik <mikael.starvik@axis.com> @@ -67,7 +67,7 @@ "+\t\tspin_lock_irqsave(&gpio_lock, flags);\n" " \t\tif (USE_PORTS(priv)) {\n" " \t\t\tret = *priv->port;\n" - " \t\t} else if (priv->minor = GPIO_MINOR_G) {\n" + " \t\t} else if (priv->minor == GPIO_MINOR_G) {\n" " \t\t\tret = (*R_PORT_G_DATA) & 0x7FFFFFFF;\n" " \t\t}\n" "+\t\tspin_unlock_irqrestore(&gpio_lock, flags);\n" @@ -79,8 +79,9 @@ "+\n" " \t\tif (USE_PORTS(priv)) {\n" "-\t\t\t*priv->port = *priv->shadow |= \n" - "+\t\t\t*priv->port = *priv->shadow | \t\t\t ((unsigned char)arg & priv->changeable_bits);\n" - " \t\t} else if (priv->minor = GPIO_MINOR_G) {\n" + "+\t\t\t*priv->port = *priv->shadow |=\n" + " \t\t\t ((unsigned char)arg & priv->changeable_bits);\n" + " \t\t} else if (priv->minor == GPIO_MINOR_G) {\n" " \t\t\t*R_PORT_G_DATA = port_g_data_shadow |= (arg & dir_g_out_bits);\n" " \t\t}\n" "+\t\tspin_unlock_irqrestore(&gpio_lock, flags);\n" @@ -91,8 +92,9 @@ "+\t\tspin_lock_irqsave(&gpio_lock, flags);\n" " \t\tif (USE_PORTS(priv)) {\n" "-\t\t\t*priv->port = *priv->shadow &= \n" - "+\t\t\t*priv->port = *priv->shadow & \t\t\t ~((unsigned char)arg & priv->changeable_bits);\n" - " \t\t} else if (priv->minor = GPIO_MINOR_G) {\n" + "+\t\t\t*priv->port = *priv->shadow &=\n" + " \t\t\t ~((unsigned char)arg & priv->changeable_bits);\n" + " \t\t} else if (priv->minor == GPIO_MINOR_G) {\n" " \t\t\t*R_PORT_G_DATA = port_g_data_shadow &= ~((unsigned long)arg & dir_g_out_bits);\n" " \t\t}\n" "+\t\tspin_unlock_irqrestore(&gpio_lock, flags);\n" @@ -138,7 +140,7 @@ "+\t\tspin_lock_irqsave(&gpio_lock, flags);\n" " \t\tif (USE_PORTS(priv)) {\n" " \t\t\tret = *priv->dir_shadow;\n" - " \t\t} else if (priv->minor = GPIO_MINOR_G) {\n" + " \t\t} else if (priv->minor == GPIO_MINOR_G) {\n" "@@ -585,30 +596,40 @@ gpio_ioctl_unlocked(struct file *file, unsigned int cmd, unsigned long arg)\n" " \t\t\t */\n" " \t\t\tret = (dir_g_shadow | dir_g_out_bits) & 0x7FFFFFFF;\n" @@ -196,7 +198,7 @@ "+\t\tspin_lock_irqsave(&gpio_lock, flags);\n" " \t\tif (USE_PORTS(priv)) {\n" " \t\t\tval = *priv->port;\n" - " \t\t} else if (priv->minor = GPIO_MINOR_G) {\n" + " \t\t} else if (priv->minor == GPIO_MINOR_G) {\n" " \t\t\tval = *R_PORT_G_DATA;\n" " \t\t}\n" "+\t\tspin_unlock_irqrestore(&gpio_lock, flags);\n" @@ -208,7 +210,7 @@ "+\t\tspin_lock_irqsave(&gpio_lock, flags);\n" " \t\tif (USE_PORTS(priv)) {\n" " \t\t\tval = *priv->shadow;\n" - " \t\t} else if (priv->minor = GPIO_MINOR_G) {\n" + " \t\t} else if (priv->minor == GPIO_MINOR_G) {\n" " \t\t\tval = port_g_data_shadow;\n" " \t\t}\n" "+\t\tspin_unlock_irqrestore(&gpio_lock, flags);\n" @@ -242,7 +244,7 @@ " \t\tbreak;\n" " \tdefault:\n" "+\t\tspin_lock_irqsave(&gpio_lock, flags);\n" - " \t\tif (priv->minor = GPIO_MINOR_LEDS)\n" + " \t\tif (priv->minor == GPIO_MINOR_LEDS)\n" " \t\t\tret = gpio_leds_ioctl(cmd, arg);\n" " \t\telse\n" " \t\t\tret = -EINVAL;\n" @@ -277,4 +279,4 @@ "-- \n" Jesper Nilsson -- jesper.nilsson@axis.com -a583f449503990c21432d14cf7e3741a81d07efcd9904a2ab2fcba6efd4b0739 +c9871e65d83d4c89883cf495647310ab3762abcdcd020dfeb1ee29a842006b48
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.