<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>93890</bug_id>
          
          <creation_ts>2012-08-13 13:26:29 -0700</creation_ts>
          <short_desc>[EFL] [WK2] Add unit tests for vibration_client_callbacks_set API</short_desc>
          <delta_ts>2012-08-17 07:04:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>90451</blocked>
    
    <blocked>91077</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sudarsana Nagineni (babu)">naginenis</reporter>
          <assigned_to name="Sudarsana Nagineni (babu)">naginenis</assigned_to>
          <cc>cdumez</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>tmpsantos</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>694018</commentid>
    <comment_count>0</comment_count>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-08-13 13:26:29 -0700</bug_when>
    <thetext>Unit tests for vibration_client_callbacks_set API should be added.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697081</commentid>
    <comment_count>1</comment_count>
      <attachid>158803</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-08-16 06:58:43 -0700</bug_when>
    <thetext>Created attachment 158803
Patch

Patch covers unit testing of the Vibration API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697089</commentid>
    <comment_count>2</comment_count>
      <attachid>158803</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-08-16 07:04:53 -0700</bug_when>
    <thetext>Comment on attachment 158803
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=158803&amp;action=review

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:78
&gt; +    if (vibrationTime == *vibrationTimeExpected)

EXPECT_EQ(vibrationTime, *vibrationTimeExpected); ?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:79
&gt; +        vibrationEventReceived = true;

Should be set unconditionally I believe</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697119</commentid>
    <comment_count>3</comment_count>
      <attachid>158803</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-08-16 07:37:08 -0700</bug_when>
    <thetext>Comment on attachment 158803
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=158803&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:78
&gt;&gt; +    if (vibrationTime == *vibrationTimeExpected)
&gt; 
&gt; EXPECT_EQ(vibrationTime, *vibrationTimeExpected); ?

No. There is one case where I am passing an array of values to check alternating periods of time the vibrate method is called(eg., navigator.vibrate([200, 100, 500]). In this case the test should pass only when the callback received with vibrationTime 500 ms. Using EXPECT_EQ will cause a failure in this particular case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697128</commentid>
    <comment_count>4</comment_count>
      <attachid>158803</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-08-16 07:51:53 -0700</bug_when>
    <thetext>Comment on attachment 158803
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=158803&amp;action=review

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:78
&gt;&gt;&gt; +    if (vibrationTime == *vibrationTimeExpected)
&gt;&gt; 
&gt;&gt; EXPECT_EQ(vibrationTime, *vibrationTimeExpected); ?
&gt; 
&gt; No. There is one case where I am passing an array of values to check alternating periods of time the vibrate method is called(eg., navigator.vibrate([200, 100, 500]). In this case the test should pass only when the callback received with vibrationTime 500 ms. Using EXPECT_EQ will cause a failure in this particular case.

Ok, nevermind.

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:87
&gt; +static void loadVibrationHTMLString(Evas_Object* webView, const char* vibrationPattern, bool iterateLoop)

I think &quot;iterateLoop&quot; name is not explicit enough. Maybe something like &quot;waitForVibrationEvent&quot; ?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:96
&gt; +    ewk_view_html_string_load(webView, eina_strbuf_string_steal(buffer), 0, 0);

Leak? I believe you want to use eina_strbuf_string_get().

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:116
&gt; +    ASSERT_TRUE(vibrationEventReceived);

How do you know that cancelVibrationCallback() got called and not vibrateCallback() since you&apos;re using the same boolean?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:119
&gt; +    loadVibrationHTMLString(webView(), &quot;[200, 100, 5000]&quot;, true);

How do you know your callback was called several times?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697217</commentid>
    <comment_count>5</comment_count>
      <attachid>158803</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-08-16 09:38:31 -0700</bug_when>
    <thetext>Comment on attachment 158803
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=158803&amp;action=review

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:97
&gt; +    eina_strbuf_string_free(buffer);

This wont work because you called eina_strbuf_string_steal() before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697225</commentid>
    <comment_count>6</comment_count>
      <attachid>158803</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-08-16 09:45:16 -0700</bug_when>
    <thetext>Comment on attachment 158803
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=158803&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:97
&gt;&gt; +    eina_strbuf_string_free(buffer);
&gt; 
&gt; This wont work because you called eina_strbuf_string_steal() before.

Call eina_strbuf_free() instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697929</commentid>
    <comment_count>7</comment_count>
      <attachid>159009</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-08-16 23:18:52 -0700</bug_when>
    <thetext>Created attachment 159009
Patch

Add more test coverage for API by fixing review comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697930</commentid>
    <comment_count>8</comment_count>
      <attachid>158803</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-08-16 23:24:40 -0700</bug_when>
    <thetext>Comment on attachment 158803
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=158803&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:87
&gt;&gt; +static void loadVibrationHTMLString(Evas_Object* webView, const char* vibrationPattern, bool iterateLoop)
&gt; 
&gt; I think &quot;iterateLoop&quot; name is not explicit enough. Maybe something like &quot;waitForVibrationEvent&quot; ?

Okay.

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:97
&gt;&gt;&gt; +    eina_strbuf_string_free(buffer);
&gt;&gt; 
&gt;&gt; This wont work because you called eina_strbuf_string_steal() before.
&gt; 
&gt; Call eina_strbuf_free() instead.

fixed.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:116
&gt;&gt; +    ASSERT_TRUE(vibrationEventReceived);
&gt; 
&gt; How do you know that cancelVibrationCallback() got called and not vibrateCallback() since you&apos;re using the same boolean?

fixed.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:119
&gt;&gt; +    loadVibrationHTMLString(webView(), &quot;[200, 100, 5000]&quot;, true);
&gt; 
&gt; How do you know your callback was called several times?

Added implementation to check this case now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>697946</commentid>
    <comment_count>9</comment_count>
      <attachid>159009</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-08-16 23:56:28 -0700</bug_when>
    <thetext>Comment on attachment 159009
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159009&amp;action=review

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:73
&gt; +    bool vibrateCb; /**&lt; Whether the vibration event received */

boolean variable names should start with &quot;is&quot;, &quot;has&quot;, &quot;was&quot; or similar as per coding style. The name is not very clear. Should we use this comment style /**&lt; */ for undocumented private code?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:122
&gt; +    loadVibrationHTMLString(webView(), 0, true, &amp;data);

Shouldn&apos;t it be &quot;0&quot; instead of 0? Now, it seems you pass 0 (null) to eina_strbuf_append_printf().

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:126
&gt; +    data.vibrateCbCount = 0;

I guess you would do this in loadVibrationHTMLString() with the other resetting?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:145
&gt; +    loadVibrationHTMLString(webView(), 0, false, &amp;data);

is passing 0 really correct here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698025</commentid>
    <comment_count>10</comment_count>
      <attachid>159040</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-08-17 01:16:44 -0700</bug_when>
    <thetext>Created attachment 159040
Patch

Take Chris review comments into consideration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698028</commentid>
    <comment_count>11</comment_count>
      <attachid>159040</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2012-08-17 01:19:23 -0700</bug_when>
    <thetext>Comment on attachment 159040
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698110</commentid>
    <comment_count>12</comment_count>
      <attachid>159040</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-08-17 02:51:30 -0700</bug_when>
    <thetext>Comment on attachment 159040
Patch

LGTM, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698124</commentid>
    <comment_count>13</comment_count>
      <attachid>159040</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-08-17 03:02:25 -0700</bug_when>
    <thetext>Comment on attachment 159040
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159040&amp;action=review

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:73
&gt; +    bool isVibrateCbReceived; // Whether the vibration event received.

it is called &apos;was received&apos;, but you could say didReceiveVibrateCallback;

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:75
&gt; +    int vibrateCbCount; // Vibrate callbacks count.

unsigned?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:95
&gt; +    static const char* vibrationHTMLString =

This is more content than html, why not just const char* content; ? Why it is static?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:104
&gt; +    eina_strbuf_append_printf(buffer, vibrationHTMLString, vibrationPattern);
&gt; +    ewk_view_html_string_load(webView, eina_strbuf_string_get(buffer), 0, 0);

you could also just load the string ewk_view_load( ... using a data string &quot;data:text/html,&lt;html&gt;...&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698139</commentid>
    <comment_count>14</comment_count>
      <attachid>159040</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-08-17 03:15:08 -0700</bug_when>
    <thetext>Comment on attachment 159040
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159040&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:104
&gt;&gt; +    ewk_view_html_string_load(webView, eina_strbuf_string_get(buffer), 0, 0);
&gt; 
&gt; you could also just load the string ewk_view_load( ... using a data string &quot;data:text/html,&lt;html&gt;...&quot;

Looks like the content is dynamically modified at &quot;eina_strbuf_append_printf&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698200</commentid>
    <comment_count>15</comment_count>
      <attachid>159088</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-08-17 04:42:52 -0700</bug_when>
    <thetext>Created attachment 159088
Patch

Take Kenneth&apos;s feedback into consideration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698207</commentid>
    <comment_count>16</comment_count>
      <attachid>159040</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-08-17 04:53:48 -0700</bug_when>
    <thetext>Comment on attachment 159040
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159040&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:73
&gt;&gt; +    bool isVibrateCbReceived; // Whether the vibration event received.
&gt; 
&gt; it is called &apos;was received&apos;, but you could say didReceiveVibrateCallback;

fixed.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:75
&gt;&gt; +    int vibrateCbCount; // Vibrate callbacks count.
&gt; 
&gt; unsigned?

fixed.

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:95
&gt;&gt; +    static const char* vibrationHTMLString =
&gt; 
&gt; This is more content than html, why not just const char* content; ? Why it is static?

fixed.

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:104
&gt;&gt;&gt; +    ewk_view_html_string_load(webView, eina_strbuf_string_get(buffer), 0, 0);
&gt;&gt; 
&gt;&gt; you could also just load the string ewk_view_load( ... using a data string &quot;data:text/html,&lt;html&gt;...&quot;
&gt; 
&gt; Looks like the content is dynamically modified at &quot;eina_strbuf_append_printf&quot;.

yes, the content is dynamically modified every time the function is called with different value in vibration time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698208</commentid>
    <comment_count>17</comment_count>
      <attachid>159088</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-08-17 04:54:35 -0700</bug_when>
    <thetext>Comment on attachment 159088
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159088&amp;action=review

Very slow test, is that really needed?

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:75
&gt; +    unsigned int vibrateCbCount; // Vibrate callbacks count.

Style guide says to just write &quot;unsigned&quot; and not &quot;unsigned int&quot;.

unsigned vibrateCalledCount;

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:120
&gt; +    // Vibrate for 5 seconds.
&gt; +    loadVibrationHTMLString(webView(), &quot;5000&quot;, true, &amp;data);
&gt; +    ASSERT_TRUE(data.didReceiveVibrateCallback);

Can this result in flakyness? 5 seconds is a long time for a test. Why not let the test run say 300 mseconds and wait 400 mseconds here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698225</commentid>
    <comment_count>18</comment_count>
      <attachid>159088</attachid>
    <who name="Thiago Marcos P. Santos">tmpsantos</who>
    <bug_when>2012-08-17 05:12:44 -0700</bug_when>
    <thetext>Comment on attachment 159088
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159088&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:120
&gt;&gt; +    ASSERT_TRUE(data.didReceiveVibrateCallback);
&gt; 
&gt; Can this result in flakyness? 5 seconds is a long time for a test. Why not let the test run say 300 mseconds and wait 400 mseconds here?

The test won&apos;t wait for 5 seconds, but ask the embedder to vibrate for 5 seconds. He is checking here if the what the JavaScript asks and what the embedder is getting matches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698229</commentid>
    <comment_count>19</comment_count>
      <attachid>159088</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-08-17 05:16:33 -0700</bug_when>
    <thetext>Comment on attachment 159088
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159088&amp;action=review

&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:75
&gt;&gt; +    unsigned int vibrateCbCount; // Vibrate callbacks count.
&gt; 
&gt; Style guide says to just write &quot;unsigned&quot; and not &quot;unsigned int&quot;.
&gt; 
&gt; unsigned vibrateCalledCount;

I just followed the existing EFL style. I&apos;m going to fix it. Thanks for pointing out.

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:120
&gt;&gt;&gt; +    ASSERT_TRUE(data.didReceiveVibrateCallback);
&gt;&gt; 
&gt;&gt; Can this result in flakyness? 5 seconds is a long time for a test. Why not let the test run say 300 mseconds and wait 400 mseconds here?
&gt; 
&gt; The test won&apos;t wait for 5 seconds, but ask the embedder to vibrate for 5 seconds. He is checking here if the what the JavaScript asks and what the embedder is getting matches.

You are correct Thiago. I was about to write the same here. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698238</commentid>
    <comment_count>20</comment_count>
      <attachid>159097</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-08-17 05:20:36 -0700</bug_when>
    <thetext>Created attachment 159097
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698244</commentid>
    <comment_count>21</comment_count>
      <attachid>159097</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-08-17 05:23:35 -0700</bug_when>
    <thetext>Comment on attachment 159097
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=159097&amp;action=review

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:75
&gt; +    unsigned vibrateCbCount; // Vibrate callbacks count.

s/Cb/Called/

&gt; Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_context.cpp:107
&gt; +    eina_strbuf_free(buffer);
&gt; +    if (!waitForVibrationEvent)
&gt; +        return;

Add newline before if</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698252</commentid>
    <comment_count>22</comment_count>
      <attachid>159099</attachid>
    <who name="Sudarsana Nagineni (babu)">naginenis</who>
    <bug_when>2012-08-17 05:28:30 -0700</bug_when>
    <thetext>Created attachment 159099
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698304</commentid>
    <comment_count>23</comment_count>
      <attachid>159099</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-17 07:04:24 -0700</bug_when>
    <thetext>Comment on attachment 159099
patch

Clearing flags on attachment: 159099

Committed r125893: &lt;http://trac.webkit.org/changeset/125893&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>698305</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-17 07:04:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158803</attachid>
            <date>2012-08-16 06:58:43 -0700</date>
            <delta_ts>2012-08-16 23:24:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>93890.patch</filename>
            <type>text/plain</type>
            <size>4548</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5YTJkZjFkLi5iYzZkNzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTItMDgtMTYgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBs
aW51eC5pbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF0gW1dLMl0gQWRkIHVuaXQgdGVzdHMgZm9y
IHZpYnJhdGlvbl9jbGllbnRfY2FsbGJhY2tzX3NldCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzODkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb3ZlcnMgdW5pdCB0ZXN0aW5n
IG9mIHRoZSBWaWJyYXRpb24gQVBJIGFzIGRlbGl2ZXJlZC4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0LmNwcDoKKyAgICAgICAgKHZpYnJhdGVD
YWxsYmFjayk6CisgICAgICAgIChjYW5jZWxWaWJyYXRpb25DYWxsYmFjayk6CisgICAgICAgIChs
b2FkVmlicmF0aW9uSFRNTFN0cmluZyk6CisgICAgICAgIChURVNUX0YpOgorCiAyMDEyLTA4LTE0
ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRGVsZXRlIEZyYW1l
Ojpkb21XaW5kb3coKSBhbmQgRnJhbWU6OmV4aXN0aW5nRE9NV2luZG93KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9j
b250ZXh0LmNwcAppbmRleCAwMzRmODcxLi44ZTAyODRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90ZXN0X2V3azJfY29udGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMvdGVzdF9ld2syX2NvbnRleHQu
Y3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiVW5pdFRlc3RVdGlscy9FV0syVW5pdFRl
c3RCYXNlLmgiCiAjaW5jbHVkZSAiVW5pdFRlc3RVdGlscy9FV0syVW5pdFRlc3RFbnZpcm9ubWVu
dC5oIgogI2luY2x1ZGUgPEVXZWJLaXQyLmg+CisjaW5jbHVkZSA8RWNvcmUuaD4KICNpbmNsdWRl
IDxndGVzdC9ndGVzdC5oPgogCiB1c2luZyBuYW1lc3BhY2UgRVdLMlVuaXRUZXN0OwpAQCAtMzYs
NiArMzcsOSBAQCBleHRlcm4gRVdLMlVuaXRUZXN0RW52aXJvbm1lbnQqIGVudmlyb25tZW50Owog
CiBzdGF0aWMgY29uc3QgY2hhciBodG1sUmVwbHlbXSA9ICI8aHRtbD48aGVhZD48dGl0bGU+Rm9v
PC90aXRsZT48L2hlYWQ+PGJvZHk+QmFyPC9ib2R5PjwvaHRtbD4iOwogCisvLyBXaGV0aGVyIHRo
ZSB2aWJyYXRpb24gZXZlbnQgcmVjZWl2ZWQuCitzdGF0aWMgYm9vbCB2aWJyYXRpb25FdmVudFJl
Y2VpdmVkID0gZmFsc2U7CisKIFRFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfY29udGV4dF9k
ZWZhdWx0X2dldCkKIHsKICAgICBFd2tfQ29udGV4dCogZGVmYXVsdENvbnRleHQgPSBld2tfY29u
dGV4dF9kZWZhdWx0X2dldCgpOwpAQCAtNjcsMyArNzEsNzAgQEAgVEVTVF9GKEVXSzJVbml0VGVz
dEJhc2UsIGV3a19jb250ZXh0X3VyaV9zY2hlbWVfcmVnaXN0ZXIpCiAgICAgbG9hZFVybFN5bmMo
ImZvb3NjaGVtZTpNeVBhdGgiKTsKICAgICBBU1NFUlRfU1RSRVEoZXdrX3ZpZXdfdGl0bGVfZ2V0
KHdlYlZpZXcoKSksICJGb28iKTsKIH0KKworc3RhdGljIHZvaWQgdmlicmF0ZUNhbGxiYWNrKHVp
bnQ2NF90IHZpYnJhdGlvblRpbWUsIHZvaWQqIHVzZXJEYXRhKQoreworICAgIGNvbnN0IHVpbnQ2
NF90KiB2aWJyYXRpb25UaW1lRXhwZWN0ZWQgPSBzdGF0aWNfY2FzdDx1aW50NjRfdCo+KHVzZXJE
YXRhKTsKKyAgICBpZiAodmlicmF0aW9uVGltZSA9PSAqdmlicmF0aW9uVGltZUV4cGVjdGVkKQor
ICAgICAgICB2aWJyYXRpb25FdmVudFJlY2VpdmVkID0gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQg
Y2FuY2VsVmlicmF0aW9uQ2FsbGJhY2sodm9pZCogdXNlckRhdGEpCit7CisgICAgdmlicmF0aW9u
RXZlbnRSZWNlaXZlZCA9IHRydWU7Cit9CisKK3N0YXRpYyB2b2lkIGxvYWRWaWJyYXRpb25IVE1M
U3RyaW5nKEV2YXNfT2JqZWN0KiB3ZWJWaWV3LCBjb25zdCBjaGFyKiB2aWJyYXRpb25QYXR0ZXJu
LCBib29sIGl0ZXJhdGVMb29wKQoreworICAgIHZpYnJhdGlvbkV2ZW50UmVjZWl2ZWQgPSBmYWxz
ZTsKKyAgICBzdGF0aWMgY29uc3QgY2hhciogdmlicmF0aW9uSFRNTFN0cmluZyA9CisgICAgICAg
ICI8aHRtbD48aGVhZD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlwdCc+ZnVuY3Rpb24gdmli
cmF0ZSgpIHsgbmF2aWdhdG9yLnZpYnJhdGUoJXMpOyIKKyAgICAgICAgIiBkb2N1bWVudC50aXRs
ZSA9IFwiTG9hZGVkXCI7IH08L3NjcmlwdD48L2hlYWQ+PGJvZHkgb25sb2FkPSd2aWJyYXRlKCkn
PjwvYm9keT48L2h0bWw+IjsKKworICAgIEVpbmFfU3RyYnVmKiBidWZmZXIgPSBlaW5hX3N0cmJ1
Zl9uZXcoKTsKKyAgICBlaW5hX3N0cmJ1Zl9hcHBlbmRfcHJpbnRmKGJ1ZmZlciwgdmlicmF0aW9u
SFRNTFN0cmluZywgdmlicmF0aW9uUGF0dGVybik7CisgICAgZXdrX3ZpZXdfaHRtbF9zdHJpbmdf
bG9hZCh3ZWJWaWV3LCBlaW5hX3N0cmJ1Zl9zdHJpbmdfc3RlYWwoYnVmZmVyKSwgMCwgMCk7Cisg
ICAgZWluYV9zdHJidWZfc3RyaW5nX2ZyZWUoYnVmZmVyKTsKKyAgICBpZiAoIWl0ZXJhdGVMb29w
KQorICAgICAgICByZXR1cm47CisKKyAgICB3aGlsZSAoIXZpYnJhdGlvbkV2ZW50UmVjZWl2ZWQp
CisgICAgICAgIGVjb3JlX21haW5fbG9vcF9pdGVyYXRlKCk7Cit9CisKK1RFU1RfRihFV0syVW5p
dFRlc3RCYXNlLCBld2tfY29udGV4dF92aWJyYXRpb25fY2xpZW50X2NhbGxiYWNrc19zZXQpCit7
CisgICAgdWludDY0X3QgdmlicmF0aW9uVGltZSA9IDUwMDA7CisgICAgZXdrX2NvbnRleHRfdmli
cmF0aW9uX2NsaWVudF9jYWxsYmFja3Nfc2V0KGV3a19jb250ZXh0X2RlZmF1bHRfZ2V0KCksIHZp
YnJhdGVDYWxsYmFjaywgY2FuY2VsVmlicmF0aW9uQ2FsbGJhY2ssICZ2aWJyYXRpb25UaW1lKTsK
KworICAgIC8vIFZpYnJhdGUgZm9yIDUgc2Vjb25kcy4KKyAgICBsb2FkVmlicmF0aW9uSFRNTFN0
cmluZyh3ZWJWaWV3KCksICI1MDAwIiwgdHJ1ZSk7CisgICAgQVNTRVJUX1RSVUUodmlicmF0aW9u
RXZlbnRSZWNlaXZlZCk7CisKKyAgICAvLyBDYW5jZWwgYW55IGV4aXN0aW5nIHZpYnJhdGlvbnMu
CisgICAgbG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcod2ViVmlldygpLCAwLCB0cnVlKTsKKyAgICBB
U1NFUlRfVFJVRSh2aWJyYXRpb25FdmVudFJlY2VpdmVkKTsKKworICAgIC8vIFRoaXMgY2FzZSB0
aGUgcGF0dGVybiB3aWxsIGNhdXNlIHRoZSBkZXZpY2UgdG8gdmlicmF0ZSBmb3IgMjAwIG1zLCBi
ZSBzdGlsbCBmb3IgMTAwIG1zLCBhbmQgdGhlbiB2aWJyYXRlIGZvciA1MDAwIG1zLgorICAgIGxv
YWRWaWJyYXRpb25IVE1MU3RyaW5nKHdlYlZpZXcoKSwgIlsyMDAsIDEwMCwgNTAwMF0iLCB0cnVl
KTsKKyAgICBBU1NFUlRfVFJVRSh2aWJyYXRpb25FdmVudFJlY2VpdmVkKTsKKworICAgIC8vIENh
bmNlbCBvdXRzdGFuZGluZyB2aWJyYXRpb24gcGF0dGVybi4KKyAgICBsb2FkVmlicmF0aW9uSFRN
TFN0cmluZyh3ZWJWaWV3KCksICJbMF0iLCB0cnVlKTsKKyAgICBBU1NFUlRfVFJVRSh2aWJyYXRp
b25FdmVudFJlY2VpdmVkKTsKKworICAgIC8vIFN0b3AgbGlzdGVuaW5nIGZvciB2aWJyYXRpb24g
ZXZlbnRzLCBieSBjYWxsaW5nIHRoZSBmdW5jdGlvbiB3aXRoIG51bGwgZm9yIHRoZSBjYWxsYmFj
a3MuCisgICAgZXdrX2NvbnRleHRfdmlicmF0aW9uX2NsaWVudF9jYWxsYmFja3Nfc2V0KGV3a19j
b250ZXh0X2RlZmF1bHRfZ2V0KCksIDAsIDAsICZ2aWJyYXRpb25UaW1lKTsKKworICAgIC8vIE1h
a2Ugc3VyZSB3ZSBkb24ndCByZWNlaXZlIHZpYnJhdGlvbiBldmVudC4KKyAgICBsb2FkVmlicmF0
aW9uSFRNTFN0cmluZyh3ZWJWaWV3KCksICJbNTAwMF0iLCBmYWxzZSk7CisgICAgd2FpdFVudGls
VGl0bGVDaGFuZ2VkVG8oIkxvYWRlZCIpOworICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRs
ZV9nZXQod2ViVmlldygpKSwgIkxvYWRlZCIpOworICAgIEFTU0VSVF9GQUxTRSh2aWJyYXRpb25F
dmVudFJlY2VpdmVkKTsKKworICAgIC8vIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWNlaXZlIGNhbmNl
bCB2aWJyYXRpb24gZXZlbnQuCisgICAgbG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcod2ViVmlldygp
LCAwLCBmYWxzZSk7CisgICAgd2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8oIkxvYWRlZCIpOworICAg
IEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygpKSwgIkxvYWRlZCIpOwor
ICAgIEFTU0VSVF9GQUxTRSh2aWJyYXRpb25FdmVudFJlY2VpdmVkKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159009</attachid>
            <date>2012-08-16 23:18:52 -0700</date>
            <delta_ts>2012-08-17 01:16:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>93890.patch</filename>
            <type>text/plain</type>
            <size>4765</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3Njg3MjdhLi5mMTdhZTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTItMDgtMTYgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBs
aW51eC5pbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF0gW1dLMl0gQWRkIHVuaXQgdGVzdHMgZm9y
IHZpYnJhdGlvbl9jbGllbnRfY2FsbGJhY2tzX3NldCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzODkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb3ZlcnMgdW5pdCB0ZXN0aW5n
IG9mIHRoZSBWaWJyYXRpb24gQVBJIGFzIGRlbGl2ZXJlZC4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0LmNwcDoKKyAgICAgICAgKFZpYnJhdGlv
bkNiRGF0YSk6CisgICAgICAgICh2aWJyYXRlQ2FsbGJhY2spOgorICAgICAgICAoY2FuY2VsVmli
cmF0aW9uQ2FsbGJhY2spOgorICAgICAgICAobG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcpOgorICAg
ICAgICAoVEVTVF9GKToKKwogMjAxMi0wOC0xNiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4u
dHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIGFuIHVudXNlZCB2YXJp
YWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMv
dGVzdF9ld2syX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCmluZGV4IDAzNGY4NzEuLmI0NGMzZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9j
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90
ZXN0X2V3azJfY29udGV4dC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJVbml0VGVz
dFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCIKICNpbmNsdWRlICJVbml0VGVzdFV0aWxzL0VXSzJV
bml0VGVzdEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSA8RVdlYktpdDIuaD4KKyNpbmNsdWRlIDxF
Y29yZS5oPgogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBFV0sy
VW5pdFRlc3Q7CkBAIC02NywzICs2OCw4MiBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdr
X2NvbnRleHRfdXJpX3NjaGVtZV9yZWdpc3RlcikKICAgICBsb2FkVXJsU3luYygiZm9vc2NoZW1l
Ok15UGF0aCIpOwogICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygp
KSwgIkZvbyIpOwogfQorCitzdHJ1Y3QgVmlicmF0aW9uQ2JEYXRhIHsKKyAgICBib29sIHZpYnJh
dGVDYjsgLyoqPCBXaGV0aGVyIHRoZSB2aWJyYXRpb24gZXZlbnQgcmVjZWl2ZWQgKi8KKyAgICBi
b29sIGNhbmNlbFZpYnJhdGlvbkNiOyAvKio8IFdoZXRoZXIgdGhlIGNhbmNlbCB2aWJyYXRpb24g
ZXZlbnQgcmVjZWl2ZWQgKi8KKyAgICBpbnQgdmlicmF0ZUNiQ291bnQ7IC8qKjwgVmlicmF0ZSBj
YWxsYmFja3MgY291bnQgKi8KKyAgICB1aW50NjRfdCBleHBlY3RlZFZpYnJhdGlvblRpbWU7IC8q
KjwgRXhwZWN0ZWQgdmlicmF0aW9uIHRpbWUgKi8KK307CisKK3N0YXRpYyB2b2lkIHZpYnJhdGVD
YWxsYmFjayh1aW50NjRfdCB2aWJyYXRpb25UaW1lLCB2b2lkKiB1c2VyRGF0YSkKK3sKKyAgICBW
aWJyYXRpb25DYkRhdGEqIGRhdGEgPSBzdGF0aWNfY2FzdDxWaWJyYXRpb25DYkRhdGEqPih1c2Vy
RGF0YSk7CisgICAgaWYgKHZpYnJhdGlvblRpbWUgPT0gZGF0YS0+ZXhwZWN0ZWRWaWJyYXRpb25U
aW1lKQorICAgICAgICBkYXRhLT52aWJyYXRlQ2IgPSB0cnVlOworICAgIGRhdGEtPnZpYnJhdGVD
YkNvdW50Kys7Cit9CisKK3N0YXRpYyB2b2lkIGNhbmNlbFZpYnJhdGlvbkNhbGxiYWNrKHZvaWQq
IHVzZXJEYXRhKQoreworICAgIFZpYnJhdGlvbkNiRGF0YSogZGF0YSA9IHN0YXRpY19jYXN0PFZp
YnJhdGlvbkNiRGF0YSo+KHVzZXJEYXRhKTsKKyAgICBkYXRhLT5jYW5jZWxWaWJyYXRpb25DYiA9
IHRydWU7Cit9CisKK3N0YXRpYyB2b2lkIGxvYWRWaWJyYXRpb25IVE1MU3RyaW5nKEV2YXNfT2Jq
ZWN0KiB3ZWJWaWV3LCBjb25zdCBjaGFyKiB2aWJyYXRpb25QYXR0ZXJuLCBib29sIHdhaXRGb3JW
aWJyYXRpb25FdmVudCwgVmlicmF0aW9uQ2JEYXRhKiBkYXRhKQoreworICAgIHN0YXRpYyBjb25z
dCBjaGFyKiB2aWJyYXRpb25IVE1MU3RyaW5nID0KKyAgICAgICAgIjxodG1sPjxoZWFkPjxzY3Jp
cHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5mdW5jdGlvbiB2aWJyYXRlKCkgeyBuYXZpZ2F0b3Iu
dmlicmF0ZSglcyk7IgorICAgICAgICAiIGRvY3VtZW50LnRpdGxlID0gXCJMb2FkZWRcIjsgfTwv
c2NyaXB0PjwvaGVhZD48Ym9keSBvbmxvYWQ9J3ZpYnJhdGUoKSc+PC9ib2R5PjwvaHRtbD4iOwor
CisgICAgZGF0YS0+dmlicmF0ZUNiID0gZmFsc2U7CisgICAgZGF0YS0+Y2FuY2VsVmlicmF0aW9u
Q2IgPSBmYWxzZTsKKyAgICBFaW5hX1N0cmJ1ZiogYnVmZmVyID0gZWluYV9zdHJidWZfbmV3KCk7
CisgICAgZWluYV9zdHJidWZfYXBwZW5kX3ByaW50ZihidWZmZXIsIHZpYnJhdGlvbkhUTUxTdHJp
bmcsIHZpYnJhdGlvblBhdHRlcm4pOworICAgIGV3a192aWV3X2h0bWxfc3RyaW5nX2xvYWQod2Vi
VmlldywgZWluYV9zdHJidWZfc3RyaW5nX2dldChidWZmZXIpLCAwLCAwKTsKKyAgICBlaW5hX3N0
cmJ1Zl9mcmVlKGJ1ZmZlcik7CisgICAgaWYgKCF3YWl0Rm9yVmlicmF0aW9uRXZlbnQpCisgICAg
ICAgIHJldHVybjsKKworICAgIHdoaWxlICghZGF0YS0+dmlicmF0ZUNiICYmICFkYXRhLT5jYW5j
ZWxWaWJyYXRpb25DYikKKyAgICAgICAgZWNvcmVfbWFpbl9sb29wX2l0ZXJhdGUoKTsKK30KKwor
VEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a19jb250ZXh0X3ZpYnJhdGlvbl9jbGllbnRfY2Fs
bGJhY2tzX3NldCkKK3sKKyAgICBWaWJyYXRpb25DYkRhdGEgZGF0YSA9IHsgZmFsc2UsIGZhbHNl
LCAwLCA1MDAwIH07CisgICAgZXdrX2NvbnRleHRfdmlicmF0aW9uX2NsaWVudF9jYWxsYmFja3Nf
c2V0KGV3a19jb250ZXh0X2RlZmF1bHRfZ2V0KCksIHZpYnJhdGVDYWxsYmFjaywgY2FuY2VsVmli
cmF0aW9uQ2FsbGJhY2ssICZkYXRhKTsKKworICAgIC8vIFZpYnJhdGUgZm9yIDUgc2Vjb25kcy4K
KyAgICBsb2FkVmlicmF0aW9uSFRNTFN0cmluZyh3ZWJWaWV3KCksICI1MDAwIiwgdHJ1ZSwgJmRh
dGEpOworICAgIEFTU0VSVF9UUlVFKGRhdGEudmlicmF0ZUNiKTsKKworICAgIC8vIENhbmNlbCBh
bnkgZXhpc3RpbmcgdmlicmF0aW9ucy4KKyAgICBsb2FkVmlicmF0aW9uSFRNTFN0cmluZyh3ZWJW
aWV3KCksIDAsIHRydWUsICZkYXRhKTsKKyAgICBBU1NFUlRfVFJVRShkYXRhLmNhbmNlbFZpYnJh
dGlvbkNiKTsKKworICAgIC8vIFRoaXMgY2FzZSB0aGUgcGF0dGVybiB3aWxsIGNhdXNlIHRoZSBk
ZXZpY2UgdG8gdmlicmF0ZSBmb3IgMjAwIG1zLCBiZSBzdGlsbCBmb3IgMTAwIG1zLCBhbmQgdGhl
biB2aWJyYXRlIGZvciA1MDAwIG1zLgorICAgIGRhdGEudmlicmF0ZUNiQ291bnQgPSAwOworICAg
IGxvYWRWaWJyYXRpb25IVE1MU3RyaW5nKHdlYlZpZXcoKSwgIlsyMDAsIDEwMCwgNTAwMF0iLCB0
cnVlLCAmZGF0YSk7CisgICAgQVNTRVJUX0VRKGRhdGEudmlicmF0ZUNiQ291bnQsIDIpOworICAg
IEFTU0VSVF9UUlVFKGRhdGEudmlicmF0ZUNiKTsKKworICAgIC8vIENhbmNlbCBvdXRzdGFuZGlu
ZyB2aWJyYXRpb24gcGF0dGVybi4KKyAgICBsb2FkVmlicmF0aW9uSFRNTFN0cmluZyh3ZWJWaWV3
KCksICJbMF0iLCB0cnVlLCAmZGF0YSk7CisgICAgQVNTRVJUX1RSVUUoZGF0YS5jYW5jZWxWaWJy
YXRpb25DYik7CisKKyAgICAvLyBTdG9wIGxpc3RlbmluZyBmb3IgdmlicmF0aW9uIGV2ZW50cywg
YnkgY2FsbGluZyB0aGUgZnVuY3Rpb24gd2l0aCBudWxsIGZvciB0aGUgY2FsbGJhY2tzLgorICAg
IGV3a19jb250ZXh0X3ZpYnJhdGlvbl9jbGllbnRfY2FsbGJhY2tzX3NldChld2tfY29udGV4dF9k
ZWZhdWx0X2dldCgpLCAwLCAwLCAmZGF0YSk7CisKKyAgICAvLyBNYWtlIHN1cmUgd2UgZG9uJ3Qg
cmVjZWl2ZSB2aWJyYXRpb24gZXZlbnQuCisgICAgbG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcod2Vi
VmlldygpLCAiWzUwMDBdIiwgZmFsc2UsICZkYXRhKTsKKyAgICB3YWl0VW50aWxUaXRsZUNoYW5n
ZWRUbygiTG9hZGVkIik7CisgICAgQVNTRVJUX1NUUkVRKGV3a192aWV3X3RpdGxlX2dldCh3ZWJW
aWV3KCkpLCAiTG9hZGVkIik7CisgICAgQVNTRVJUX0ZBTFNFKGRhdGEudmlicmF0ZUNiKTsKKwor
ICAgIC8vIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWNlaXZlIGNhbmNlbCB2aWJyYXRpb24gZXZlbnQu
CisgICAgbG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcod2ViVmlldygpLCAwLCBmYWxzZSwgJmRhdGEp
OworICAgIHdhaXRVbnRpbFRpdGxlQ2hhbmdlZFRvKCJMb2FkZWQiKTsKKyAgICBBU1NFUlRfU1RS
RVEoZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZpZXcoKSksICJMb2FkZWQiKTsKKyAgICBBU1NFUlRf
RkFMU0UoZGF0YS5jYW5jZWxWaWJyYXRpb25DYik7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159040</attachid>
            <date>2012-08-17 01:16:44 -0700</date>
            <delta_ts>2012-08-17 04:53:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>93890.patch</filename>
            <type>text/plain</type>
            <size>4894</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3Njg3MjdhLi5mMTdhZTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTItMDgtMTYgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBs
aW51eC5pbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF0gW1dLMl0gQWRkIHVuaXQgdGVzdHMgZm9y
IHZpYnJhdGlvbl9jbGllbnRfY2FsbGJhY2tzX3NldCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzODkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb3ZlcnMgdW5pdCB0ZXN0aW5n
IG9mIHRoZSBWaWJyYXRpb24gQVBJIGFzIGRlbGl2ZXJlZC4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0LmNwcDoKKyAgICAgICAgKFZpYnJhdGlv
bkNiRGF0YSk6CisgICAgICAgICh2aWJyYXRlQ2FsbGJhY2spOgorICAgICAgICAoY2FuY2VsVmli
cmF0aW9uQ2FsbGJhY2spOgorICAgICAgICAobG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcpOgorICAg
ICAgICAoVEVTVF9GKToKKwogMjAxMi0wOC0xNiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4u
dHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIGFuIHVudXNlZCB2YXJp
YWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMv
dGVzdF9ld2syX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCmluZGV4IDAzNGY4NzEuLmY1YzUwNDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9j
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90
ZXN0X2V3azJfY29udGV4dC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJVbml0VGVz
dFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCIKICNpbmNsdWRlICJVbml0VGVzdFV0aWxzL0VXSzJV
bml0VGVzdEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSA8RVdlYktpdDIuaD4KKyNpbmNsdWRlIDxF
Y29yZS5oPgogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBFV0sy
VW5pdFRlc3Q7CkBAIC02NywzICs2OCw4MiBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdr
X2NvbnRleHRfdXJpX3NjaGVtZV9yZWdpc3RlcikKICAgICBsb2FkVXJsU3luYygiZm9vc2NoZW1l
Ok15UGF0aCIpOwogICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygp
KSwgIkZvbyIpOwogfQorCitzdHJ1Y3QgVmlicmF0aW9uQ2JEYXRhIHsKKyAgICBib29sIGlzVmli
cmF0ZUNiUmVjZWl2ZWQ7IC8vIFdoZXRoZXIgdGhlIHZpYnJhdGlvbiBldmVudCByZWNlaXZlZC4K
KyAgICBib29sIGlzQ2FuY2VsVmlicmF0aW9uQ2JSZWNlaXZlZDsgLy8gV2hldGhlciB0aGUgY2Fu
Y2VsIHZpYnJhdGlvbiBldmVudCByZWNlaXZlZC4KKyAgICBpbnQgdmlicmF0ZUNiQ291bnQ7IC8v
IFZpYnJhdGUgY2FsbGJhY2tzIGNvdW50LgorICAgIHVpbnQ2NF90IGV4cGVjdGVkVmlicmF0aW9u
VGltZTsgLy8gRXhwZWN0ZWQgdmlicmF0aW9uIHRpbWUuCit9OworCitzdGF0aWMgdm9pZCB2aWJy
YXRlQ2FsbGJhY2sodWludDY0X3QgdmlicmF0aW9uVGltZSwgdm9pZCogdXNlckRhdGEpCit7Cisg
ICAgVmlicmF0aW9uQ2JEYXRhKiBkYXRhID0gc3RhdGljX2Nhc3Q8VmlicmF0aW9uQ2JEYXRhKj4o
dXNlckRhdGEpOworICAgIGlmICh2aWJyYXRpb25UaW1lID09IGRhdGEtPmV4cGVjdGVkVmlicmF0
aW9uVGltZSkKKyAgICAgICAgZGF0YS0+aXNWaWJyYXRlQ2JSZWNlaXZlZCA9IHRydWU7CisgICAg
ZGF0YS0+dmlicmF0ZUNiQ291bnQrKzsKK30KKworc3RhdGljIHZvaWQgY2FuY2VsVmlicmF0aW9u
Q2FsbGJhY2sodm9pZCogdXNlckRhdGEpCit7CisgICAgVmlicmF0aW9uQ2JEYXRhKiBkYXRhID0g
c3RhdGljX2Nhc3Q8VmlicmF0aW9uQ2JEYXRhKj4odXNlckRhdGEpOworICAgIGRhdGEtPmlzQ2Fu
Y2VsVmlicmF0aW9uQ2JSZWNlaXZlZCA9IHRydWU7Cit9CisKK3N0YXRpYyB2b2lkIGxvYWRWaWJy
YXRpb25IVE1MU3RyaW5nKEV2YXNfT2JqZWN0KiB3ZWJWaWV3LCBjb25zdCBjaGFyKiB2aWJyYXRp
b25QYXR0ZXJuLCBib29sIHdhaXRGb3JWaWJyYXRpb25FdmVudCwgVmlicmF0aW9uQ2JEYXRhKiBk
YXRhKQoreworICAgIHN0YXRpYyBjb25zdCBjaGFyKiB2aWJyYXRpb25IVE1MU3RyaW5nID0KKyAg
ICAgICAgIjxodG1sPjxoZWFkPjxzY3JpcHQgdHlwZT0ndGV4dC9qYXZhc2NyaXB0Jz5mdW5jdGlv
biB2aWJyYXRlKCkgeyBuYXZpZ2F0b3IudmlicmF0ZSglcyk7IgorICAgICAgICAiIGRvY3VtZW50
LnRpdGxlID0gXCJMb2FkZWRcIjsgfTwvc2NyaXB0PjwvaGVhZD48Ym9keSBvbmxvYWQ9J3ZpYnJh
dGUoKSc+PC9ib2R5PjwvaHRtbD4iOworCisgICAgZGF0YS0+aXNWaWJyYXRlQ2JSZWNlaXZlZCA9
IGZhbHNlOworICAgIGRhdGEtPmlzQ2FuY2VsVmlicmF0aW9uQ2JSZWNlaXZlZCA9IGZhbHNlOwor
ICAgIGRhdGEtPnZpYnJhdGVDYkNvdW50ID0gMDsKKyAgICBFaW5hX1N0cmJ1ZiogYnVmZmVyID0g
ZWluYV9zdHJidWZfbmV3KCk7CisgICAgZWluYV9zdHJidWZfYXBwZW5kX3ByaW50ZihidWZmZXIs
IHZpYnJhdGlvbkhUTUxTdHJpbmcsIHZpYnJhdGlvblBhdHRlcm4pOworICAgIGV3a192aWV3X2h0
bWxfc3RyaW5nX2xvYWQod2ViVmlldywgZWluYV9zdHJidWZfc3RyaW5nX2dldChidWZmZXIpLCAw
LCAwKTsKKyAgICBlaW5hX3N0cmJ1Zl9mcmVlKGJ1ZmZlcik7CisgICAgaWYgKCF3YWl0Rm9yVmli
cmF0aW9uRXZlbnQpCisgICAgICAgIHJldHVybjsKKworICAgIHdoaWxlICghZGF0YS0+aXNWaWJy
YXRlQ2JSZWNlaXZlZCAmJiAhZGF0YS0+aXNDYW5jZWxWaWJyYXRpb25DYlJlY2VpdmVkKQorICAg
ICAgICBlY29yZV9tYWluX2xvb3BfaXRlcmF0ZSgpOworfQorCitURVNUX0YoRVdLMlVuaXRUZXN0
QmFzZSwgZXdrX2NvbnRleHRfdmlicmF0aW9uX2NsaWVudF9jYWxsYmFja3Nfc2V0KQoreworICAg
IFZpYnJhdGlvbkNiRGF0YSBkYXRhID0geyBmYWxzZSwgZmFsc2UsIDAsIDUwMDAgfTsKKyAgICBl
d2tfY29udGV4dF92aWJyYXRpb25fY2xpZW50X2NhbGxiYWNrc19zZXQoZXdrX2NvbnRleHRfZGVm
YXVsdF9nZXQoKSwgdmlicmF0ZUNhbGxiYWNrLCBjYW5jZWxWaWJyYXRpb25DYWxsYmFjaywgJmRh
dGEpOworCisgICAgLy8gVmlicmF0ZSBmb3IgNSBzZWNvbmRzLgorICAgIGxvYWRWaWJyYXRpb25I
VE1MU3RyaW5nKHdlYlZpZXcoKSwgIjUwMDAiLCB0cnVlLCAmZGF0YSk7CisgICAgQVNTRVJUX1RS
VUUoZGF0YS5pc1ZpYnJhdGVDYlJlY2VpdmVkKTsKKworICAgIC8vIENhbmNlbCBhbnkgZXhpc3Rp
bmcgdmlicmF0aW9ucy4KKyAgICBsb2FkVmlicmF0aW9uSFRNTFN0cmluZyh3ZWJWaWV3KCksICIw
IiwgdHJ1ZSwgJmRhdGEpOworICAgIEFTU0VSVF9UUlVFKGRhdGEuaXNDYW5jZWxWaWJyYXRpb25D
YlJlY2VpdmVkKTsKKworICAgIC8vIFRoaXMgY2FzZSB0aGUgcGF0dGVybiB3aWxsIGNhdXNlIHRo
ZSBkZXZpY2UgdG8gdmlicmF0ZSBmb3IgMjAwIG1zLCBiZSBzdGlsbCBmb3IgMTAwIG1zLCBhbmQg
dGhlbiB2aWJyYXRlIGZvciA1MDAwIG1zLgorICAgIGxvYWRWaWJyYXRpb25IVE1MU3RyaW5nKHdl
YlZpZXcoKSwgIlsyMDAsIDEwMCwgNTAwMF0iLCB0cnVlLCAmZGF0YSk7CisgICAgQVNTRVJUX0VR
KGRhdGEudmlicmF0ZUNiQ291bnQsIDIpOworICAgIEFTU0VSVF9UUlVFKGRhdGEuaXNWaWJyYXRl
Q2JSZWNlaXZlZCk7CisKKyAgICAvLyBDYW5jZWwgb3V0c3RhbmRpbmcgdmlicmF0aW9uIHBhdHRl
cm4uCisgICAgbG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcod2ViVmlldygpLCAiWzBdIiwgdHJ1ZSwg
JmRhdGEpOworICAgIEFTU0VSVF9UUlVFKGRhdGEuaXNDYW5jZWxWaWJyYXRpb25DYlJlY2VpdmVk
KTsKKworICAgIC8vIFN0b3AgbGlzdGVuaW5nIGZvciB2aWJyYXRpb24gZXZlbnRzLCBieSBjYWxs
aW5nIHRoZSBmdW5jdGlvbiB3aXRoIG51bGwgZm9yIHRoZSBjYWxsYmFja3MuCisgICAgZXdrX2Nv
bnRleHRfdmlicmF0aW9uX2NsaWVudF9jYWxsYmFja3Nfc2V0KGV3a19jb250ZXh0X2RlZmF1bHRf
Z2V0KCksIDAsIDAsICZkYXRhKTsKKworICAgIC8vIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWNlaXZl
IHZpYnJhdGlvbiBldmVudC4KKyAgICBsb2FkVmlicmF0aW9uSFRNTFN0cmluZyh3ZWJWaWV3KCks
ICJbNTAwMF0iLCBmYWxzZSwgJmRhdGEpOworICAgIHdhaXRVbnRpbFRpdGxlQ2hhbmdlZFRvKCJM
b2FkZWQiKTsKKyAgICBBU1NFUlRfU1RSRVEoZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZpZXcoKSks
ICJMb2FkZWQiKTsKKyAgICBBU1NFUlRfRkFMU0UoZGF0YS5pc1ZpYnJhdGVDYlJlY2VpdmVkKTsK
KworICAgIC8vIE1ha2Ugc3VyZSB3ZSBkb24ndCByZWNlaXZlIGNhbmNlbCB2aWJyYXRpb24gZXZl
bnQuCisgICAgbG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcod2ViVmlldygpLCAiMCIsIGZhbHNlLCAm
ZGF0YSk7CisgICAgd2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8oIkxvYWRlZCIpOworICAgIEFTU0VS
VF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygpKSwgIkxvYWRlZCIpOworICAgIEFT
U0VSVF9GQUxTRShkYXRhLmlzQ2FuY2VsVmlicmF0aW9uQ2JSZWNlaXZlZCk7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159088</attachid>
            <date>2012-08-17 04:42:52 -0700</date>
            <delta_ts>2012-08-17 05:20:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>93890.patch</filename>
            <type>text/plain</type>
            <size>4956</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3Njg3MjdhLi5mMTdhZTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTItMDgtMTYgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBs
aW51eC5pbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF0gW1dLMl0gQWRkIHVuaXQgdGVzdHMgZm9y
IHZpYnJhdGlvbl9jbGllbnRfY2FsbGJhY2tzX3NldCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzODkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb3ZlcnMgdW5pdCB0ZXN0aW5n
IG9mIHRoZSBWaWJyYXRpb24gQVBJIGFzIGRlbGl2ZXJlZC4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0LmNwcDoKKyAgICAgICAgKFZpYnJhdGlv
bkNiRGF0YSk6CisgICAgICAgICh2aWJyYXRlQ2FsbGJhY2spOgorICAgICAgICAoY2FuY2VsVmli
cmF0aW9uQ2FsbGJhY2spOgorICAgICAgICAobG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcpOgorICAg
ICAgICAoVEVTVF9GKToKKwogMjAxMi0wOC0xNiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4u
dHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIGFuIHVudXNlZCB2YXJp
YWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMv
dGVzdF9ld2syX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCmluZGV4IDAzNGY4NzEuLmU0YWFjMTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9j
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90
ZXN0X2V3azJfY29udGV4dC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJVbml0VGVz
dFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCIKICNpbmNsdWRlICJVbml0VGVzdFV0aWxzL0VXSzJV
bml0VGVzdEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSA8RVdlYktpdDIuaD4KKyNpbmNsdWRlIDxF
Y29yZS5oPgogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBFV0sy
VW5pdFRlc3Q7CkBAIC02NywzICs2OCw4MiBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdr
X2NvbnRleHRfdXJpX3NjaGVtZV9yZWdpc3RlcikKICAgICBsb2FkVXJsU3luYygiZm9vc2NoZW1l
Ok15UGF0aCIpOwogICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygp
KSwgIkZvbyIpOwogfQorCitzdHJ1Y3QgVmlicmF0aW9uQ2JEYXRhIHsKKyAgICBib29sIGRpZFJl
Y2VpdmVWaWJyYXRlQ2FsbGJhY2s7IC8vIFdoZXRoZXIgdGhlIHZpYnJhdGlvbiBldmVudCByZWNl
aXZlZC4KKyAgICBib29sIGRpZFJlY2VpdmVDYW5jZWxWaWJyYXRpb25DYWxsYmFjazsgLy8gV2hl
dGhlciB0aGUgY2FuY2VsIHZpYnJhdGlvbiBldmVudCByZWNlaXZlZC4KKyAgICB1bnNpZ25lZCBp
bnQgdmlicmF0ZUNiQ291bnQ7IC8vIFZpYnJhdGUgY2FsbGJhY2tzIGNvdW50LgorICAgIHVpbnQ2
NF90IGV4cGVjdGVkVmlicmF0aW9uVGltZTsgLy8gRXhwZWN0ZWQgdmlicmF0aW9uIHRpbWUuCit9
OworCitzdGF0aWMgdm9pZCB2aWJyYXRlQ2FsbGJhY2sodWludDY0X3QgdmlicmF0aW9uVGltZSwg
dm9pZCogdXNlckRhdGEpCit7CisgICAgVmlicmF0aW9uQ2JEYXRhKiBkYXRhID0gc3RhdGljX2Nh
c3Q8VmlicmF0aW9uQ2JEYXRhKj4odXNlckRhdGEpOworICAgIGlmICh2aWJyYXRpb25UaW1lID09
IGRhdGEtPmV4cGVjdGVkVmlicmF0aW9uVGltZSkKKyAgICAgICAgZGF0YS0+ZGlkUmVjZWl2ZVZp
YnJhdGVDYWxsYmFjayA9IHRydWU7CisgICAgZGF0YS0+dmlicmF0ZUNiQ291bnQrKzsKK30KKwor
c3RhdGljIHZvaWQgY2FuY2VsVmlicmF0aW9uQ2FsbGJhY2sodm9pZCogdXNlckRhdGEpCit7Cisg
ICAgVmlicmF0aW9uQ2JEYXRhKiBkYXRhID0gc3RhdGljX2Nhc3Q8VmlicmF0aW9uQ2JEYXRhKj4o
dXNlckRhdGEpOworICAgIGRhdGEtPmRpZFJlY2VpdmVDYW5jZWxWaWJyYXRpb25DYWxsYmFjayA9
IHRydWU7Cit9CisKK3N0YXRpYyB2b2lkIGxvYWRWaWJyYXRpb25IVE1MU3RyaW5nKEV2YXNfT2Jq
ZWN0KiB3ZWJWaWV3LCBjb25zdCBjaGFyKiB2aWJyYXRpb25QYXR0ZXJuLCBib29sIHdhaXRGb3JW
aWJyYXRpb25FdmVudCwgVmlicmF0aW9uQ2JEYXRhKiBkYXRhKQoreworICAgIGNvbnN0IGNoYXIq
IGNvbnRlbnQgPQorICAgICAgICAiPGh0bWw+PGhlYWQ+PHNjcmlwdCB0eXBlPSd0ZXh0L2phdmFz
Y3JpcHQnPmZ1bmN0aW9uIHZpYnJhdGUoKSB7IG5hdmlnYXRvci52aWJyYXRlKCVzKTsiCisgICAg
ICAgICIgZG9jdW1lbnQudGl0bGUgPSBcIkxvYWRlZFwiOyB9PC9zY3JpcHQ+PC9oZWFkPjxib2R5
IG9ubG9hZD0ndmlicmF0ZSgpJz48L2JvZHk+PC9odG1sPiI7CisKKyAgICBkYXRhLT5kaWRSZWNl
aXZlVmlicmF0ZUNhbGxiYWNrID0gZmFsc2U7CisgICAgZGF0YS0+ZGlkUmVjZWl2ZUNhbmNlbFZp
YnJhdGlvbkNhbGxiYWNrID0gZmFsc2U7CisgICAgZGF0YS0+dmlicmF0ZUNiQ291bnQgPSAwOwor
ICAgIEVpbmFfU3RyYnVmKiBidWZmZXIgPSBlaW5hX3N0cmJ1Zl9uZXcoKTsKKyAgICBlaW5hX3N0
cmJ1Zl9hcHBlbmRfcHJpbnRmKGJ1ZmZlciwgY29udGVudCwgdmlicmF0aW9uUGF0dGVybik7Cisg
ICAgZXdrX3ZpZXdfaHRtbF9zdHJpbmdfbG9hZCh3ZWJWaWV3LCBlaW5hX3N0cmJ1Zl9zdHJpbmdf
Z2V0KGJ1ZmZlciksIDAsIDApOworICAgIGVpbmFfc3RyYnVmX2ZyZWUoYnVmZmVyKTsKKyAgICBp
ZiAoIXdhaXRGb3JWaWJyYXRpb25FdmVudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgd2hpbGUg
KCFkYXRhLT5kaWRSZWNlaXZlVmlicmF0ZUNhbGxiYWNrICYmICFkYXRhLT5kaWRSZWNlaXZlQ2Fu
Y2VsVmlicmF0aW9uQ2FsbGJhY2spCisgICAgICAgIGVjb3JlX21haW5fbG9vcF9pdGVyYXRlKCk7
Cit9CisKK1RFU1RfRihFV0syVW5pdFRlc3RCYXNlLCBld2tfY29udGV4dF92aWJyYXRpb25fY2xp
ZW50X2NhbGxiYWNrc19zZXQpCit7CisgICAgVmlicmF0aW9uQ2JEYXRhIGRhdGEgPSB7IGZhbHNl
LCBmYWxzZSwgMCwgNTAwMCB9OworICAgIGV3a19jb250ZXh0X3ZpYnJhdGlvbl9jbGllbnRfY2Fs
bGJhY2tzX3NldChld2tfY29udGV4dF9kZWZhdWx0X2dldCgpLCB2aWJyYXRlQ2FsbGJhY2ssIGNh
bmNlbFZpYnJhdGlvbkNhbGxiYWNrLCAmZGF0YSk7CisKKyAgICAvLyBWaWJyYXRlIGZvciA1IHNl
Y29uZHMuCisgICAgbG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcod2ViVmlldygpLCAiNTAwMCIsIHRy
dWUsICZkYXRhKTsKKyAgICBBU1NFUlRfVFJVRShkYXRhLmRpZFJlY2VpdmVWaWJyYXRlQ2FsbGJh
Y2spOworCisgICAgLy8gQ2FuY2VsIGFueSBleGlzdGluZyB2aWJyYXRpb25zLgorICAgIGxvYWRW
aWJyYXRpb25IVE1MU3RyaW5nKHdlYlZpZXcoKSwgIjAiLCB0cnVlLCAmZGF0YSk7CisgICAgQVNT
RVJUX1RSVUUoZGF0YS5kaWRSZWNlaXZlQ2FuY2VsVmlicmF0aW9uQ2FsbGJhY2spOworCisgICAg
Ly8gVGhpcyBjYXNlIHRoZSBwYXR0ZXJuIHdpbGwgY2F1c2UgdGhlIGRldmljZSB0byB2aWJyYXRl
IGZvciAyMDAgbXMsIGJlIHN0aWxsIGZvciAxMDAgbXMsIGFuZCB0aGVuIHZpYnJhdGUgZm9yIDUw
MDAgbXMuCisgICAgbG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcod2ViVmlldygpLCAiWzIwMCwgMTAw
LCA1MDAwXSIsIHRydWUsICZkYXRhKTsKKyAgICBBU1NFUlRfRVEoZGF0YS52aWJyYXRlQ2JDb3Vu
dCwgMik7CisgICAgQVNTRVJUX1RSVUUoZGF0YS5kaWRSZWNlaXZlVmlicmF0ZUNhbGxiYWNrKTsK
KworICAgIC8vIENhbmNlbCBvdXRzdGFuZGluZyB2aWJyYXRpb24gcGF0dGVybi4KKyAgICBsb2Fk
VmlicmF0aW9uSFRNTFN0cmluZyh3ZWJWaWV3KCksICJbMF0iLCB0cnVlLCAmZGF0YSk7CisgICAg
QVNTRVJUX1RSVUUoZGF0YS5kaWRSZWNlaXZlQ2FuY2VsVmlicmF0aW9uQ2FsbGJhY2spOworCisg
ICAgLy8gU3RvcCBsaXN0ZW5pbmcgZm9yIHZpYnJhdGlvbiBldmVudHMsIGJ5IGNhbGxpbmcgdGhl
IGZ1bmN0aW9uIHdpdGggbnVsbCBmb3IgdGhlIGNhbGxiYWNrcy4KKyAgICBld2tfY29udGV4dF92
aWJyYXRpb25fY2xpZW50X2NhbGxiYWNrc19zZXQoZXdrX2NvbnRleHRfZGVmYXVsdF9nZXQoKSwg
MCwgMCwgJmRhdGEpOworCisgICAgLy8gTWFrZSBzdXJlIHdlIGRvbid0IHJlY2VpdmUgdmlicmF0
aW9uIGV2ZW50LgorICAgIGxvYWRWaWJyYXRpb25IVE1MU3RyaW5nKHdlYlZpZXcoKSwgIls1MDAw
XSIsIGZhbHNlLCAmZGF0YSk7CisgICAgd2FpdFVudGlsVGl0bGVDaGFuZ2VkVG8oIkxvYWRlZCIp
OworICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygpKSwgIkxvYWRl
ZCIpOworICAgIEFTU0VSVF9GQUxTRShkYXRhLmRpZFJlY2VpdmVWaWJyYXRlQ2FsbGJhY2spOwor
CisgICAgLy8gTWFrZSBzdXJlIHdlIGRvbid0IHJlY2VpdmUgY2FuY2VsIHZpYnJhdGlvbiBldmVu
dC4KKyAgICBsb2FkVmlicmF0aW9uSFRNTFN0cmluZyh3ZWJWaWV3KCksICIwIiwgZmFsc2UsICZk
YXRhKTsKKyAgICB3YWl0VW50aWxUaXRsZUNoYW5nZWRUbygiTG9hZGVkIik7CisgICAgQVNTRVJU
X1NUUkVRKGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpLCAiTG9hZGVkIik7CisgICAgQVNT
RVJUX0ZBTFNFKGRhdGEuZGlkUmVjZWl2ZUNhbmNlbFZpYnJhdGlvbkNhbGxiYWNrKTsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159097</attachid>
            <date>2012-08-17 05:20:36 -0700</date>
            <delta_ts>2012-08-17 05:28:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>93890.patch</filename>
            <type>text/plain</type>
            <size>4952</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3Njg3MjdhLi5mMTdhZTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTItMDgtMTYgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBs
aW51eC5pbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF0gW1dLMl0gQWRkIHVuaXQgdGVzdHMgZm9y
IHZpYnJhdGlvbl9jbGllbnRfY2FsbGJhY2tzX3NldCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzODkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb3ZlcnMgdW5pdCB0ZXN0aW5n
IG9mIHRoZSBWaWJyYXRpb24gQVBJIGFzIGRlbGl2ZXJlZC4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0LmNwcDoKKyAgICAgICAgKFZpYnJhdGlv
bkNiRGF0YSk6CisgICAgICAgICh2aWJyYXRlQ2FsbGJhY2spOgorICAgICAgICAoY2FuY2VsVmli
cmF0aW9uQ2FsbGJhY2spOgorICAgICAgICAobG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcpOgorICAg
ICAgICAoVEVTVF9GKToKKwogMjAxMi0wOC0xNiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4u
dHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIGFuIHVudXNlZCB2YXJp
YWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMv
dGVzdF9ld2syX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCmluZGV4IDAzNGY4NzEuLjdiYmMzNWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9j
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90
ZXN0X2V3azJfY29udGV4dC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJVbml0VGVz
dFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCIKICNpbmNsdWRlICJVbml0VGVzdFV0aWxzL0VXSzJV
bml0VGVzdEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSA8RVdlYktpdDIuaD4KKyNpbmNsdWRlIDxF
Y29yZS5oPgogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBFV0sy
VW5pdFRlc3Q7CkBAIC02NywzICs2OCw4MiBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdr
X2NvbnRleHRfdXJpX3NjaGVtZV9yZWdpc3RlcikKICAgICBsb2FkVXJsU3luYygiZm9vc2NoZW1l
Ok15UGF0aCIpOwogICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygp
KSwgIkZvbyIpOwogfQorCitzdHJ1Y3QgVmlicmF0aW9uQ2JEYXRhIHsKKyAgICBib29sIGRpZFJl
Y2VpdmVWaWJyYXRlQ2FsbGJhY2s7IC8vIFdoZXRoZXIgdGhlIHZpYnJhdGlvbiBldmVudCByZWNl
aXZlZC4KKyAgICBib29sIGRpZFJlY2VpdmVDYW5jZWxWaWJyYXRpb25DYWxsYmFjazsgLy8gV2hl
dGhlciB0aGUgY2FuY2VsIHZpYnJhdGlvbiBldmVudCByZWNlaXZlZC4KKyAgICB1bnNpZ25lZCB2
aWJyYXRlQ2JDb3VudDsgLy8gVmlicmF0ZSBjYWxsYmFja3MgY291bnQuCisgICAgdWludDY0X3Qg
ZXhwZWN0ZWRWaWJyYXRpb25UaW1lOyAvLyBFeHBlY3RlZCB2aWJyYXRpb24gdGltZS4KK307CisK
K3N0YXRpYyB2b2lkIHZpYnJhdGVDYWxsYmFjayh1aW50NjRfdCB2aWJyYXRpb25UaW1lLCB2b2lk
KiB1c2VyRGF0YSkKK3sKKyAgICBWaWJyYXRpb25DYkRhdGEqIGRhdGEgPSBzdGF0aWNfY2FzdDxW
aWJyYXRpb25DYkRhdGEqPih1c2VyRGF0YSk7CisgICAgaWYgKHZpYnJhdGlvblRpbWUgPT0gZGF0
YS0+ZXhwZWN0ZWRWaWJyYXRpb25UaW1lKQorICAgICAgICBkYXRhLT5kaWRSZWNlaXZlVmlicmF0
ZUNhbGxiYWNrID0gdHJ1ZTsKKyAgICBkYXRhLT52aWJyYXRlQ2JDb3VudCsrOworfQorCitzdGF0
aWMgdm9pZCBjYW5jZWxWaWJyYXRpb25DYWxsYmFjayh2b2lkKiB1c2VyRGF0YSkKK3sKKyAgICBW
aWJyYXRpb25DYkRhdGEqIGRhdGEgPSBzdGF0aWNfY2FzdDxWaWJyYXRpb25DYkRhdGEqPih1c2Vy
RGF0YSk7CisgICAgZGF0YS0+ZGlkUmVjZWl2ZUNhbmNlbFZpYnJhdGlvbkNhbGxiYWNrID0gdHJ1
ZTsKK30KKworc3RhdGljIHZvaWQgbG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcoRXZhc19PYmplY3Qq
IHdlYlZpZXcsIGNvbnN0IGNoYXIqIHZpYnJhdGlvblBhdHRlcm4sIGJvb2wgd2FpdEZvclZpYnJh
dGlvbkV2ZW50LCBWaWJyYXRpb25DYkRhdGEqIGRhdGEpCit7CisgICAgY29uc3QgY2hhciogY29u
dGVudCA9CisgICAgICAgICI8aHRtbD48aGVhZD48c2NyaXB0IHR5cGU9J3RleHQvamF2YXNjcmlw
dCc+ZnVuY3Rpb24gdmlicmF0ZSgpIHsgbmF2aWdhdG9yLnZpYnJhdGUoJXMpOyIKKyAgICAgICAg
IiBkb2N1bWVudC50aXRsZSA9IFwiTG9hZGVkXCI7IH08L3NjcmlwdD48L2hlYWQ+PGJvZHkgb25s
b2FkPSd2aWJyYXRlKCknPjwvYm9keT48L2h0bWw+IjsKKworICAgIGRhdGEtPmRpZFJlY2VpdmVW
aWJyYXRlQ2FsbGJhY2sgPSBmYWxzZTsKKyAgICBkYXRhLT5kaWRSZWNlaXZlQ2FuY2VsVmlicmF0
aW9uQ2FsbGJhY2sgPSBmYWxzZTsKKyAgICBkYXRhLT52aWJyYXRlQ2JDb3VudCA9IDA7CisgICAg
RWluYV9TdHJidWYqIGJ1ZmZlciA9IGVpbmFfc3RyYnVmX25ldygpOworICAgIGVpbmFfc3RyYnVm
X2FwcGVuZF9wcmludGYoYnVmZmVyLCBjb250ZW50LCB2aWJyYXRpb25QYXR0ZXJuKTsKKyAgICBl
d2tfdmlld19odG1sX3N0cmluZ19sb2FkKHdlYlZpZXcsIGVpbmFfc3RyYnVmX3N0cmluZ19nZXQo
YnVmZmVyKSwgMCwgMCk7CisgICAgZWluYV9zdHJidWZfZnJlZShidWZmZXIpOworICAgIGlmICgh
d2FpdEZvclZpYnJhdGlvbkV2ZW50KQorICAgICAgICByZXR1cm47CisKKyAgICB3aGlsZSAoIWRh
dGEtPmRpZFJlY2VpdmVWaWJyYXRlQ2FsbGJhY2sgJiYgIWRhdGEtPmRpZFJlY2VpdmVDYW5jZWxW
aWJyYXRpb25DYWxsYmFjaykKKyAgICAgICAgZWNvcmVfbWFpbl9sb29wX2l0ZXJhdGUoKTsKK30K
KworVEVTVF9GKEVXSzJVbml0VGVzdEJhc2UsIGV3a19jb250ZXh0X3ZpYnJhdGlvbl9jbGllbnRf
Y2FsbGJhY2tzX3NldCkKK3sKKyAgICBWaWJyYXRpb25DYkRhdGEgZGF0YSA9IHsgZmFsc2UsIGZh
bHNlLCAwLCA1MDAwIH07CisgICAgZXdrX2NvbnRleHRfdmlicmF0aW9uX2NsaWVudF9jYWxsYmFj
a3Nfc2V0KGV3a19jb250ZXh0X2RlZmF1bHRfZ2V0KCksIHZpYnJhdGVDYWxsYmFjaywgY2FuY2Vs
VmlicmF0aW9uQ2FsbGJhY2ssICZkYXRhKTsKKworICAgIC8vIFZpYnJhdGUgZm9yIDUgc2Vjb25k
cy4KKyAgICBsb2FkVmlicmF0aW9uSFRNTFN0cmluZyh3ZWJWaWV3KCksICI1MDAwIiwgdHJ1ZSwg
JmRhdGEpOworICAgIEFTU0VSVF9UUlVFKGRhdGEuZGlkUmVjZWl2ZVZpYnJhdGVDYWxsYmFjayk7
CisKKyAgICAvLyBDYW5jZWwgYW55IGV4aXN0aW5nIHZpYnJhdGlvbnMuCisgICAgbG9hZFZpYnJh
dGlvbkhUTUxTdHJpbmcod2ViVmlldygpLCAiMCIsIHRydWUsICZkYXRhKTsKKyAgICBBU1NFUlRf
VFJVRShkYXRhLmRpZFJlY2VpdmVDYW5jZWxWaWJyYXRpb25DYWxsYmFjayk7CisKKyAgICAvLyBU
aGlzIGNhc2UgdGhlIHBhdHRlcm4gd2lsbCBjYXVzZSB0aGUgZGV2aWNlIHRvIHZpYnJhdGUgZm9y
IDIwMCBtcywgYmUgc3RpbGwgZm9yIDEwMCBtcywgYW5kIHRoZW4gdmlicmF0ZSBmb3IgNTAwMCBt
cy4KKyAgICBsb2FkVmlicmF0aW9uSFRNTFN0cmluZyh3ZWJWaWV3KCksICJbMjAwLCAxMDAsIDUw
MDBdIiwgdHJ1ZSwgJmRhdGEpOworICAgIEFTU0VSVF9FUShkYXRhLnZpYnJhdGVDYkNvdW50LCAy
KTsKKyAgICBBU1NFUlRfVFJVRShkYXRhLmRpZFJlY2VpdmVWaWJyYXRlQ2FsbGJhY2spOworCisg
ICAgLy8gQ2FuY2VsIG91dHN0YW5kaW5nIHZpYnJhdGlvbiBwYXR0ZXJuLgorICAgIGxvYWRWaWJy
YXRpb25IVE1MU3RyaW5nKHdlYlZpZXcoKSwgIlswXSIsIHRydWUsICZkYXRhKTsKKyAgICBBU1NF
UlRfVFJVRShkYXRhLmRpZFJlY2VpdmVDYW5jZWxWaWJyYXRpb25DYWxsYmFjayk7CisKKyAgICAv
LyBTdG9wIGxpc3RlbmluZyBmb3IgdmlicmF0aW9uIGV2ZW50cywgYnkgY2FsbGluZyB0aGUgZnVu
Y3Rpb24gd2l0aCBudWxsIGZvciB0aGUgY2FsbGJhY2tzLgorICAgIGV3a19jb250ZXh0X3ZpYnJh
dGlvbl9jbGllbnRfY2FsbGJhY2tzX3NldChld2tfY29udGV4dF9kZWZhdWx0X2dldCgpLCAwLCAw
LCAmZGF0YSk7CisKKyAgICAvLyBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVjZWl2ZSB2aWJyYXRpb24g
ZXZlbnQuCisgICAgbG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcod2ViVmlldygpLCAiWzUwMDBdIiwg
ZmFsc2UsICZkYXRhKTsKKyAgICB3YWl0VW50aWxUaXRsZUNoYW5nZWRUbygiTG9hZGVkIik7Cisg
ICAgQVNTRVJUX1NUUkVRKGV3a192aWV3X3RpdGxlX2dldCh3ZWJWaWV3KCkpLCAiTG9hZGVkIik7
CisgICAgQVNTRVJUX0ZBTFNFKGRhdGEuZGlkUmVjZWl2ZVZpYnJhdGVDYWxsYmFjayk7CisKKyAg
ICAvLyBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVjZWl2ZSBjYW5jZWwgdmlicmF0aW9uIGV2ZW50Lgor
ICAgIGxvYWRWaWJyYXRpb25IVE1MU3RyaW5nKHdlYlZpZXcoKSwgIjAiLCBmYWxzZSwgJmRhdGEp
OworICAgIHdhaXRVbnRpbFRpdGxlQ2hhbmdlZFRvKCJMb2FkZWQiKTsKKyAgICBBU1NFUlRfU1RS
RVEoZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZpZXcoKSksICJMb2FkZWQiKTsKKyAgICBBU1NFUlRf
RkFMU0UoZGF0YS5kaWRSZWNlaXZlQ2FuY2VsVmlicmF0aW9uQ2FsbGJhY2spOworfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159099</attachid>
            <date>2012-08-17 05:28:30 -0700</date>
            <delta_ts>2012-08-17 07:04:24 -0700</delta_ts>
            <desc>patch</desc>
            <filename>93890.patch</filename>
            <type>text/plain</type>
            <size>4970</size>
            <attacher name="Sudarsana Nagineni (babu)">naginenis</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA3Njg3MjdhLi5mMTdhZTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTItMDgtMTYgIFN1ZGFyc2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBs
aW51eC5pbnRlbC5jb20+CisKKyAgICAgICAgW0VGTF0gW1dLMl0gQWRkIHVuaXQgdGVzdHMgZm9y
IHZpYnJhdGlvbl9jbGllbnRfY2FsbGJhY2tzX3NldCBBUEkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzODkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBjb3ZlcnMgdW5pdCB0ZXN0aW5n
IG9mIHRoZSBWaWJyYXRpb24gQVBJIGFzIGRlbGl2ZXJlZC4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9jb250ZXh0LmNwcDoKKyAgICAgICAgKFZpYnJhdGlv
bkNiRGF0YSk6CisgICAgICAgICh2aWJyYXRlQ2FsbGJhY2spOgorICAgICAgICAoY2FuY2VsVmli
cmF0aW9uQ2FsbGJhY2spOgorICAgICAgICAobG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcpOgorICAg
ICAgICAoVEVTVF9GKToKKwogMjAxMi0wOC0xNiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4u
dHVyY290dGVAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gUmVtb3ZlIGFuIHVudXNlZCB2YXJp
YWJsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwvdGVzdHMv
dGVzdF9ld2syX2NvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9lZmwv
dGVzdHMvdGVzdF9ld2syX2NvbnRleHQuY3BwCmluZGV4IDAzNGY4NzEuLmE1ZTgxNTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZWZsL3Rlc3RzL3Rlc3RfZXdrMl9j
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2VmbC90ZXN0cy90
ZXN0X2V3azJfY29udGV4dC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJVbml0VGVz
dFV0aWxzL0VXSzJVbml0VGVzdEJhc2UuaCIKICNpbmNsdWRlICJVbml0VGVzdFV0aWxzL0VXSzJV
bml0VGVzdEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSA8RVdlYktpdDIuaD4KKyNpbmNsdWRlIDxF
Y29yZS5oPgogI2luY2x1ZGUgPGd0ZXN0L2d0ZXN0Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBFV0sy
VW5pdFRlc3Q7CkBAIC02NywzICs2OCw4MyBAQCBURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdr
X2NvbnRleHRfdXJpX3NjaGVtZV9yZWdpc3RlcikKICAgICBsb2FkVXJsU3luYygiZm9vc2NoZW1l
Ok15UGF0aCIpOwogICAgIEFTU0VSVF9TVFJFUShld2tfdmlld190aXRsZV9nZXQod2ViVmlldygp
KSwgIkZvbyIpOwogfQorCitzdHJ1Y3QgVmlicmF0aW9uQ2JEYXRhIHsKKyAgICBib29sIGRpZFJl
Y2VpdmVWaWJyYXRlQ2FsbGJhY2s7IC8vIFdoZXRoZXIgdGhlIHZpYnJhdGlvbiBldmVudCByZWNl
aXZlZC4KKyAgICBib29sIGRpZFJlY2VpdmVDYW5jZWxWaWJyYXRpb25DYWxsYmFjazsgLy8gV2hl
dGhlciB0aGUgY2FuY2VsIHZpYnJhdGlvbiBldmVudCByZWNlaXZlZC4KKyAgICB1bnNpZ25lZCB2
aWJyYXRlQ2FsbGVkQ291bnQ7IC8vIFZpYnJhdGUgY2FsbGJhY2tzIGNvdW50LgorICAgIHVpbnQ2
NF90IGV4cGVjdGVkVmlicmF0aW9uVGltZTsgLy8gRXhwZWN0ZWQgdmlicmF0aW9uIHRpbWUuCit9
OworCitzdGF0aWMgdm9pZCB2aWJyYXRlQ2FsbGJhY2sodWludDY0X3QgdmlicmF0aW9uVGltZSwg
dm9pZCogdXNlckRhdGEpCit7CisgICAgVmlicmF0aW9uQ2JEYXRhKiBkYXRhID0gc3RhdGljX2Nh
c3Q8VmlicmF0aW9uQ2JEYXRhKj4odXNlckRhdGEpOworICAgIGlmICh2aWJyYXRpb25UaW1lID09
IGRhdGEtPmV4cGVjdGVkVmlicmF0aW9uVGltZSkKKyAgICAgICAgZGF0YS0+ZGlkUmVjZWl2ZVZp
YnJhdGVDYWxsYmFjayA9IHRydWU7CisgICAgZGF0YS0+dmlicmF0ZUNhbGxlZENvdW50Kys7Cit9
CisKK3N0YXRpYyB2b2lkIGNhbmNlbFZpYnJhdGlvbkNhbGxiYWNrKHZvaWQqIHVzZXJEYXRhKQor
eworICAgIFZpYnJhdGlvbkNiRGF0YSogZGF0YSA9IHN0YXRpY19jYXN0PFZpYnJhdGlvbkNiRGF0
YSo+KHVzZXJEYXRhKTsKKyAgICBkYXRhLT5kaWRSZWNlaXZlQ2FuY2VsVmlicmF0aW9uQ2FsbGJh
Y2sgPSB0cnVlOworfQorCitzdGF0aWMgdm9pZCBsb2FkVmlicmF0aW9uSFRNTFN0cmluZyhFdmFz
X09iamVjdCogd2ViVmlldywgY29uc3QgY2hhciogdmlicmF0aW9uUGF0dGVybiwgYm9vbCB3YWl0
Rm9yVmlicmF0aW9uRXZlbnQsIFZpYnJhdGlvbkNiRGF0YSogZGF0YSkKK3sKKyAgICBjb25zdCBj
aGFyKiBjb250ZW50ID0KKyAgICAgICAgIjxodG1sPjxoZWFkPjxzY3JpcHQgdHlwZT0ndGV4dC9q
YXZhc2NyaXB0Jz5mdW5jdGlvbiB2aWJyYXRlKCkgeyBuYXZpZ2F0b3IudmlicmF0ZSglcyk7Igor
ICAgICAgICAiIGRvY3VtZW50LnRpdGxlID0gXCJMb2FkZWRcIjsgfTwvc2NyaXB0PjwvaGVhZD48
Ym9keSBvbmxvYWQ9J3ZpYnJhdGUoKSc+PC9ib2R5PjwvaHRtbD4iOworCisgICAgZGF0YS0+ZGlk
UmVjZWl2ZVZpYnJhdGVDYWxsYmFjayA9IGZhbHNlOworICAgIGRhdGEtPmRpZFJlY2VpdmVDYW5j
ZWxWaWJyYXRpb25DYWxsYmFjayA9IGZhbHNlOworICAgIGRhdGEtPnZpYnJhdGVDYWxsZWRDb3Vu
dCA9IDA7CisgICAgRWluYV9TdHJidWYqIGJ1ZmZlciA9IGVpbmFfc3RyYnVmX25ldygpOworICAg
IGVpbmFfc3RyYnVmX2FwcGVuZF9wcmludGYoYnVmZmVyLCBjb250ZW50LCB2aWJyYXRpb25QYXR0
ZXJuKTsKKyAgICBld2tfdmlld19odG1sX3N0cmluZ19sb2FkKHdlYlZpZXcsIGVpbmFfc3RyYnVm
X3N0cmluZ19nZXQoYnVmZmVyKSwgMCwgMCk7CisgICAgZWluYV9zdHJidWZfZnJlZShidWZmZXIp
OworCisgICAgaWYgKCF3YWl0Rm9yVmlicmF0aW9uRXZlbnQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIHdoaWxlICghZGF0YS0+ZGlkUmVjZWl2ZVZpYnJhdGVDYWxsYmFjayAmJiAhZGF0YS0+ZGlk
UmVjZWl2ZUNhbmNlbFZpYnJhdGlvbkNhbGxiYWNrKQorICAgICAgICBlY29yZV9tYWluX2xvb3Bf
aXRlcmF0ZSgpOworfQorCitURVNUX0YoRVdLMlVuaXRUZXN0QmFzZSwgZXdrX2NvbnRleHRfdmli
cmF0aW9uX2NsaWVudF9jYWxsYmFja3Nfc2V0KQoreworICAgIFZpYnJhdGlvbkNiRGF0YSBkYXRh
ID0geyBmYWxzZSwgZmFsc2UsIDAsIDUwMDAgfTsKKyAgICBld2tfY29udGV4dF92aWJyYXRpb25f
Y2xpZW50X2NhbGxiYWNrc19zZXQoZXdrX2NvbnRleHRfZGVmYXVsdF9nZXQoKSwgdmlicmF0ZUNh
bGxiYWNrLCBjYW5jZWxWaWJyYXRpb25DYWxsYmFjaywgJmRhdGEpOworCisgICAgLy8gVmlicmF0
ZSBmb3IgNSBzZWNvbmRzLgorICAgIGxvYWRWaWJyYXRpb25IVE1MU3RyaW5nKHdlYlZpZXcoKSwg
IjUwMDAiLCB0cnVlLCAmZGF0YSk7CisgICAgQVNTRVJUX1RSVUUoZGF0YS5kaWRSZWNlaXZlVmli
cmF0ZUNhbGxiYWNrKTsKKworICAgIC8vIENhbmNlbCBhbnkgZXhpc3RpbmcgdmlicmF0aW9ucy4K
KyAgICBsb2FkVmlicmF0aW9uSFRNTFN0cmluZyh3ZWJWaWV3KCksICIwIiwgdHJ1ZSwgJmRhdGEp
OworICAgIEFTU0VSVF9UUlVFKGRhdGEuZGlkUmVjZWl2ZUNhbmNlbFZpYnJhdGlvbkNhbGxiYWNr
KTsKKworICAgIC8vIFRoaXMgY2FzZSB0aGUgcGF0dGVybiB3aWxsIGNhdXNlIHRoZSBkZXZpY2Ug
dG8gdmlicmF0ZSBmb3IgMjAwIG1zLCBiZSBzdGlsbCBmb3IgMTAwIG1zLCBhbmQgdGhlbiB2aWJy
YXRlIGZvciA1MDAwIG1zLgorICAgIGxvYWRWaWJyYXRpb25IVE1MU3RyaW5nKHdlYlZpZXcoKSwg
IlsyMDAsIDEwMCwgNTAwMF0iLCB0cnVlLCAmZGF0YSk7CisgICAgQVNTRVJUX0VRKGRhdGEudmli
cmF0ZUNhbGxlZENvdW50LCAyKTsKKyAgICBBU1NFUlRfVFJVRShkYXRhLmRpZFJlY2VpdmVWaWJy
YXRlQ2FsbGJhY2spOworCisgICAgLy8gQ2FuY2VsIG91dHN0YW5kaW5nIHZpYnJhdGlvbiBwYXR0
ZXJuLgorICAgIGxvYWRWaWJyYXRpb25IVE1MU3RyaW5nKHdlYlZpZXcoKSwgIlswXSIsIHRydWUs
ICZkYXRhKTsKKyAgICBBU1NFUlRfVFJVRShkYXRhLmRpZFJlY2VpdmVDYW5jZWxWaWJyYXRpb25D
YWxsYmFjayk7CisKKyAgICAvLyBTdG9wIGxpc3RlbmluZyBmb3IgdmlicmF0aW9uIGV2ZW50cywg
YnkgY2FsbGluZyB0aGUgZnVuY3Rpb24gd2l0aCBudWxsIGZvciB0aGUgY2FsbGJhY2tzLgorICAg
IGV3a19jb250ZXh0X3ZpYnJhdGlvbl9jbGllbnRfY2FsbGJhY2tzX3NldChld2tfY29udGV4dF9k
ZWZhdWx0X2dldCgpLCAwLCAwLCAmZGF0YSk7CisKKyAgICAvLyBNYWtlIHN1cmUgd2UgZG9uJ3Qg
cmVjZWl2ZSB2aWJyYXRpb24gZXZlbnQuCisgICAgbG9hZFZpYnJhdGlvbkhUTUxTdHJpbmcod2Vi
VmlldygpLCAiWzUwMDBdIiwgZmFsc2UsICZkYXRhKTsKKyAgICB3YWl0VW50aWxUaXRsZUNoYW5n
ZWRUbygiTG9hZGVkIik7CisgICAgQVNTRVJUX1NUUkVRKGV3a192aWV3X3RpdGxlX2dldCh3ZWJW
aWV3KCkpLCAiTG9hZGVkIik7CisgICAgQVNTRVJUX0ZBTFNFKGRhdGEuZGlkUmVjZWl2ZVZpYnJh
dGVDYWxsYmFjayk7CisKKyAgICAvLyBNYWtlIHN1cmUgd2UgZG9uJ3QgcmVjZWl2ZSBjYW5jZWwg
dmlicmF0aW9uIGV2ZW50LgorICAgIGxvYWRWaWJyYXRpb25IVE1MU3RyaW5nKHdlYlZpZXcoKSwg
IjAiLCBmYWxzZSwgJmRhdGEpOworICAgIHdhaXRVbnRpbFRpdGxlQ2hhbmdlZFRvKCJMb2FkZWQi
KTsKKyAgICBBU1NFUlRfU1RSRVEoZXdrX3ZpZXdfdGl0bGVfZ2V0KHdlYlZpZXcoKSksICJMb2Fk
ZWQiKTsKKyAgICBBU1NFUlRfRkFMU0UoZGF0YS5kaWRSZWNlaXZlQ2FuY2VsVmlicmF0aW9uQ2Fs
bGJhY2spOworfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>