From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8FC6AC433EF for ; Fri, 10 Dec 2021 20:11:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:Subject:From:References:Cc: To:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=zo9sagzceoiF3Q0b6pr6rYXAWDXZuYVIPPo3B2hv0jA=; b=PWUhUzxrUMclNy isHNbtGyz/5B4m4YucN4MWPnpQY4DVT1cQktSi35ZmM0GLsapY0lPO4cueKAVFAh12qeW6d/0h4ML qSq0k0weJApbdoSjtfnwiIijgVvNxmL6bIQ+KRcDQZbUqxosg2w0bDp6HBoC/evIlIekRtOWuCV2O qF1kuUAebTwPbtV8QJReB/d5HzbTFSk+HBBDCzuR1Lo2KW8/KZSGv0b3d0OQ0Q08exFGT0vI3VBjG tlf9veCnPR8xKyq/PJUf0Z4l1pyoi3jYaQVS8SovUcL66Hg4V7JijEnCOeDiIUwtOYo9W7hwzM+lj bgQC+uW7rDhr1BE3E/Nw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mvmDF-003gxY-Iw; Fri, 10 Dec 2021 20:09:49 +0000 Received: from mail-lj1-x22b.google.com ([2a00:1450:4864:20::22b]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mvmD9-003gw6-0e for linux-arm-kernel@lists.infradead.org; Fri, 10 Dec 2021 20:09:45 +0000 Received: by mail-lj1-x22b.google.com with SMTP id a37so14215719ljq.13 for ; Fri, 10 Dec 2021 12:09:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:content-language:to:cc :references:from:subject:in-reply-to:content-transfer-encoding; bh=xrpHd8kVftwQX0I0zoEuaQuKXl5F7Q3cALZMkQUcmHk=; b=aXwiv4aNsDR1u7FmPD3ogtTBd1tW5jfK7FKHdPgvVqaqMSVqfGMoYSitMAc4/pkwEu T9OmPgcq9eFNlQHpjtDz6oUKgvB+9jQ7yPR3rSmo0hjFy+gQdx7zthCW1xtFLdZTgPnG yMjFoDp0jScSI7gns058QlM+5gzaUTlSvny9Z29pTV0TMWppvisVWdS0eN9EUAw1W9or Br6QqU+eVeELvmhR5AmU/npFWpiIwizHVccIyU8FGliSSMXAd3wwK9LkRvgoQzyHNW52 eFxv9AjRfSSjC7vhJuv7dOKw+fYh7061nK7xzJc5DXmWn6VTeQFV3wBcWWpgwND20/Jw BHfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent :content-language:to:cc:references:from:subject:in-reply-to :content-transfer-encoding; bh=xrpHd8kVftwQX0I0zoEuaQuKXl5F7Q3cALZMkQUcmHk=; b=hc0QcnwrLM8f7RBgwuoe/xuevlKMDcRtrBbDHTsUDj1WiFzXEZme4CiVGbzLX17YxD 30Y91XMa56J1Zigafmt5mXc+DYEkYHZXwac4Ep1dMQlp1zofTVjh5cthvioY6eLM+Rsy ODP3FfNRiiR3+mQ0XpN7y2734zYLN6hQTeVl1vLy2nI2qQfuCZxrWL1zo+YI61rJxdZz Q8Nn3Q2rsOtlpylxDHXivNUrgta/vBFCceiwI8StQPFCljbweUfNmxxH947pk4N1gXE4 l77bSp/Aeg5MUobSHJ8MdEQLCLH2JEbsX7u5hvmmGKJkXxqFhKQZjQB6w4d6rJTn6IgP Vz2Q== X-Gm-Message-State: AOAM5308wVW7H1Jt+DFimz0fttm0xH9h8o5aBPXR6HsvnTDB766XlXJA cdMwCaK9/XuEU8fdy9PXRys= X-Google-Smtp-Source: ABdhPJzuxRBtHvLFDqkd06VF7tPxPunAxlfO0DpazAj61e+BCB/5DQqs51m47uJpIAwW58yZej2lxQ== X-Received: by 2002:a05:651c:1036:: with SMTP id w22mr14122630ljm.356.1639166981113; Fri, 10 Dec 2021 12:09:41 -0800 (PST) Received: from [10.0.0.115] (91-153-170-164.elisa-laajakaista.fi. [91.153.170.164]) by smtp.gmail.com with ESMTPSA id v198sm402095lfa.89.2021.12.10.12.09.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 10 Dec 2021 12:09:40 -0800 (PST) Message-ID: <8ae3b70e-3697-2d3f-9a62-378f1a3748d7@gmail.com> Date: Fri, 10 Dec 2021 22:10:09 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Content-Language: en-US To: Vignesh Raghavendra , Vinod Koul Cc: dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org, Linux ARM Mailing List , Nishanth Menon References: <20211209180957.29036-1-vigneshr@ti.com> From: =?UTF-8?Q?P=c3=a9ter_Ujfalusi?= Subject: Re: [PATCH] dma: ti: k3-udma: Fix smatch warnings In-Reply-To: <20211209180957.29036-1-vigneshr@ti.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211210_120943_093280_22C5BFC5 X-CRM114-Status: GOOD ( 21.54 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org CgpPbiAwOS8xMi8yMDIxIDIwOjA5LCBWaWduZXNoIFJhZ2hhdmVuZHJhIHdyb3RlOgo+IFNtYXRj aCByZXBvcnRzIGJlbG93IHdhcm5pbmdzIFsxXSB3cnQgZGVyZWZlcmVuY2luZyBybV9yZXMgd2hl biBpdCBjYW4KPiBwb3RlbnRpYWxseSBiZSBFUlJfUFRSKCkuIFRoaXMgaXMgcG9zc2libGUgd2hl biBlbnRpcmUgcmFuZ2UgaXMKPiBhbGxvY2F0ZWQgdG8gTGludXgKPiBGaXggdGhpcyBjYXNlIGJ5 IG1ha2luZyBzdXJlLCB0aGVyZSBpcyBubyBkZWZlcmVuY2Ugb2Ygcm1fcmVzIHdoZW4gaXRzCj4g RVJSX1BUUigpLgoKVmFsaWQsIGVhcmx5IHN5c2ZzIGRpZCBub3QgaGFkIHJtIHJhbmdlcywgdGh1 cyB3ZSBhc3N1bWVkIGFsbCBjaGFubmVscwphcmUgZm9yIExpbnV4LCB0aGVuIHdlIGdvdCBzdXBw b3J0IGZvciBvbmUgcmFuZ2UgcGVyIGNoYW5uZWwgdHlwZSBhbmQKdGhlbiB0aGUgc2V0cyBnb3Qg aW50cm9kdWNlZCBmb3Igc3VwcG9ydGluZyB0aGUgZGlmZmVybnQgdGhyb3VnaHB1dApsZXZlbHMg b2YgY2hhbm5sZXMgaW4gdGhlIHR5cGVzLgpUaGlzIHN1cmVseSBnb3Qgb3Zlcmxvb2tlZC4KCkFj a2VkLWJ5OiBQZXRlciBVamZhbHVzaSA8cGV0ZXIudWpmYWx1c2lAZ21haWwuY29tPgoKPiAKPiBb MV06Cj4gIGRyaXZlcnMvZG1hL3RpL2szLXVkbWEuYzo0NTI0IHVkbWFfc2V0dXBfcmVzb3VyY2Vz KCkgZXJyb3I6ICdybV9yZXMnIGRlcmVmZXJlbmNpbmcgcG9zc2libGUgRVJSX1BUUigpCj4gIGRy aXZlcnMvZG1hL3RpL2szLXVkbWEuYzo0NTM3IHVkbWFfc2V0dXBfcmVzb3VyY2VzKCkgZXJyb3I6 ICdybV9yZXMnIGRlcmVmZXJlbmNpbmcgcG9zc2libGUgRVJSX1BUUigpCj4gIGRyaXZlcnMvZG1h L3RpL2szLXVkbWEuYzo0NjgxIGJjZG1hX3NldHVwX3Jlc291cmNlcygpIGVycm9yOiAncm1fcmVz JyBkZXJlZmVyZW5jaW5nIHBvc3NpYmxlIEVSUl9QVFIoKQo+ICBkcml2ZXJzL2RtYS90aS9rMy11 ZG1hLmM6NDY5NiBiY2RtYV9zZXR1cF9yZXNvdXJjZXMoKSBlcnJvcjogJ3JtX3JlcycgZGVyZWZl cmVuY2luZyBwb3NzaWJsZSBFUlJfUFRSKCkKPiAgZHJpdmVycy9kbWEvdGkvazMtdWRtYS5jOjQ3 MTEgYmNkbWFfc2V0dXBfcmVzb3VyY2VzKCkgZXJyb3I6ICdybV9yZXMnIGRlcmVmZXJlbmNpbmcg cG9zc2libGUgRVJSX1BUUigpCj4gIGRyaXZlcnMvZG1hL3RpL2szLXVkbWEuYzo0ODQ4IHBrdGRt YV9zZXR1cF9yZXNvdXJjZXMoKSBlcnJvcjogJ3JtX3JlcycgZGVyZWZlcmVuY2luZyBwb3NzaWJs ZSBFUlJfUFRSKCkKPiAgZHJpdmVycy9kbWEvdGkvazMtdWRtYS5jOjQ4NjEgcGt0ZG1hX3NldHVw X3Jlc291cmNlcygpIGVycm9yOiAncm1fcmVzJyBkZXJlZmVyZW5jaW5nIHBvc3NpYmxlIEVSUl9Q VFIoKQo+IAo+IFJlcG9ydGVkLWJ5OiBOaXNoYW50aCBNZW5vbiA8bm1AdGkuY29tPgo+IFNpZ25l ZC1vZmYtYnk6IFZpZ25lc2ggUmFnaGF2ZW5kcmEgPHZpZ25lc2hyQHRpLmNvbT4KPiAtLS0KPiAg ZHJpdmVycy9kbWEvdGkvazMtdWRtYS5jIHwgMTU3ICsrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLQo+ICAxIGZpbGUgY2hhbmdlZCwgMTA3IGluc2VydGlvbnMoKyksIDUwIGRl bGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS90aS9rMy11ZG1hLmMgYi9k cml2ZXJzL2RtYS90aS9rMy11ZG1hLmMKPiBpbmRleCAwNDFkOGUzMmQ2MzAuLjZlNTZkMWNlZjVl ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2RtYS90aS9rMy11ZG1hLmMKPiArKysgYi9kcml2ZXJz L2RtYS90aS9rMy11ZG1hLmMKPiBAQCAtNDUzNCw0NSArNDUzNCw2MCBAQCBzdGF0aWMgaW50IHVk bWFfc2V0dXBfcmVzb3VyY2VzKHN0cnVjdCB1ZG1hX2RldiAqdWQpCj4gIAlybV9yZXMgPSB0aXNj aV9ybS0+cm1fcmFuZ2VzW1JNX1JBTkdFX1RDSEFOXTsKPiAgCWlmIChJU19FUlIocm1fcmVzKSkg ewo+ICAJCWJpdG1hcF96ZXJvKHVkLT50Y2hhbl9tYXAsIHVkLT50Y2hhbl9jbnQpOwo+ICsJCWly cV9yZXMuc2V0cyA9IDE7Cj4gIAl9IGVsc2Ugewo+ICAJCWJpdG1hcF9maWxsKHVkLT50Y2hhbl9t YXAsIHVkLT50Y2hhbl9jbnQpOwo+ICAJCWZvciAoaSA9IDA7IGkgPCBybV9yZXMtPnNldHM7IGkr KykKPiAgCQkJdWRtYV9tYXJrX3Jlc291cmNlX3Jhbmdlcyh1ZCwgdWQtPnRjaGFuX21hcCwKPiAg CQkJCQkJICAmcm1fcmVzLT5kZXNjW2ldLCAidGNoYW4iKTsKPiArCQlpcnFfcmVzLnNldHMgPSBy bV9yZXMtPnNldHM7Cj4gIAl9Cj4gLQlpcnFfcmVzLnNldHMgPSBybV9yZXMtPnNldHM7Cj4gIAo+ ICAJLyogcmNoYW4gYW5kIG1hdGNoaW5nIGRlZmF1bHQgZmxvdyByYW5nZXMgKi8KPiAgCXJtX3Jl cyA9IHRpc2NpX3JtLT5ybV9yYW5nZXNbUk1fUkFOR0VfUkNIQU5dOwo+ICAJaWYgKElTX0VSUihy bV9yZXMpKSB7Cj4gIAkJYml0bWFwX3plcm8odWQtPnJjaGFuX21hcCwgdWQtPnJjaGFuX2NudCk7 Cj4gKwkJaXJxX3Jlcy5zZXRzKys7Cj4gIAl9IGVsc2Ugewo+ICAJCWJpdG1hcF9maWxsKHVkLT5y Y2hhbl9tYXAsIHVkLT5yY2hhbl9jbnQpOwo+ICAJCWZvciAoaSA9IDA7IGkgPCBybV9yZXMtPnNl dHM7IGkrKykKPiAgCQkJdWRtYV9tYXJrX3Jlc291cmNlX3Jhbmdlcyh1ZCwgdWQtPnJjaGFuX21h cCwKPiAgCQkJCQkJICAmcm1fcmVzLT5kZXNjW2ldLCAicmNoYW4iKTsKPiArCQlpcnFfcmVzLnNl dHMgKz0gcm1fcmVzLT5zZXRzOwo+ICAJfQo+ICAKPiAtCWlycV9yZXMuc2V0cyArPSBybV9yZXMt PnNldHM7Cj4gIAlpcnFfcmVzLmRlc2MgPSBrY2FsbG9jKGlycV9yZXMuc2V0cywgc2l6ZW9mKCpp cnFfcmVzLmRlc2MpLCBHRlBfS0VSTkVMKTsKPiArCWlmICghaXJxX3Jlcy5kZXNjKQo+ICsJCXJl dHVybiAtRU5PTUVNOwo+ICAJcm1fcmVzID0gdGlzY2lfcm0tPnJtX3Jhbmdlc1tSTV9SQU5HRV9U Q0hBTl07Cj4gLQlmb3IgKGkgPSAwOyBpIDwgcm1fcmVzLT5zZXRzOyBpKyspIHsKPiAtCQlpcnFf cmVzLmRlc2NbaV0uc3RhcnQgPSBybV9yZXMtPmRlc2NbaV0uc3RhcnQ7Cj4gLQkJaXJxX3Jlcy5k ZXNjW2ldLm51bSA9IHJtX3Jlcy0+ZGVzY1tpXS5udW07Cj4gLQkJaXJxX3Jlcy5kZXNjW2ldLnN0 YXJ0X3NlYyA9IHJtX3Jlcy0+ZGVzY1tpXS5zdGFydF9zZWM7Cj4gLQkJaXJxX3Jlcy5kZXNjW2ld Lm51bV9zZWMgPSBybV9yZXMtPmRlc2NbaV0ubnVtX3NlYzsKPiArCWlmIChJU19FUlIocm1fcmVz KSkgewo+ICsJCWlycV9yZXMuZGVzY1swXS5zdGFydCA9IDA7Cj4gKwkJaXJxX3Jlcy5kZXNjWzBd Lm51bSA9IHVkLT50Y2hhbl9jbnQ7Cj4gKwkJaSA9IDE7Cj4gKwl9IGVsc2Ugewo+ICsJCWZvciAo aSA9IDA7IGkgPCBybV9yZXMtPnNldHM7IGkrKykgewo+ICsJCQlpcnFfcmVzLmRlc2NbaV0uc3Rh cnQgPSBybV9yZXMtPmRlc2NbaV0uc3RhcnQ7Cj4gKwkJCWlycV9yZXMuZGVzY1tpXS5udW0gPSBy bV9yZXMtPmRlc2NbaV0ubnVtOwo+ICsJCQlpcnFfcmVzLmRlc2NbaV0uc3RhcnRfc2VjID0gcm1f cmVzLT5kZXNjW2ldLnN0YXJ0X3NlYzsKPiArCQkJaXJxX3Jlcy5kZXNjW2ldLm51bV9zZWMgPSBy bV9yZXMtPmRlc2NbaV0ubnVtX3NlYzsKPiArCQl9Cj4gIAl9Cj4gIAlybV9yZXMgPSB0aXNjaV9y bS0+cm1fcmFuZ2VzW1JNX1JBTkdFX1JDSEFOXTsKPiAtCWZvciAoaiA9IDA7IGogPCBybV9yZXMt PnNldHM7IGorKywgaSsrKSB7Cj4gLQkJaWYgKHJtX3Jlcy0+ZGVzY1tqXS5udW0pIHsKPiAtCQkJ aXJxX3Jlcy5kZXNjW2ldLnN0YXJ0ID0gcm1fcmVzLT5kZXNjW2pdLnN0YXJ0ICsKPiAtCQkJCQl1 ZC0+c29jX2RhdGEtPm9lcy51ZG1hX3JjaGFuOwo+IC0JCQlpcnFfcmVzLmRlc2NbaV0ubnVtID0g cm1fcmVzLT5kZXNjW2pdLm51bTsKPiAtCQl9Cj4gLQkJaWYgKHJtX3Jlcy0+ZGVzY1tqXS5udW1f c2VjKSB7Cj4gLQkJCWlycV9yZXMuZGVzY1tpXS5zdGFydF9zZWMgPSBybV9yZXMtPmRlc2Nbal0u c3RhcnRfc2VjICsKPiAtCQkJCQl1ZC0+c29jX2RhdGEtPm9lcy51ZG1hX3JjaGFuOwo+IC0JCQlp cnFfcmVzLmRlc2NbaV0ubnVtX3NlYyA9IHJtX3Jlcy0+ZGVzY1tqXS5udW1fc2VjOwo+ICsJaWYg KElTX0VSUihybV9yZXMpKSB7Cj4gKwkJaXJxX3Jlcy5kZXNjW2ldLnN0YXJ0ID0gMDsKPiArCQlp cnFfcmVzLmRlc2NbaV0ubnVtID0gdWQtPnJjaGFuX2NudDsKPiArCX0gZWxzZSB7Cj4gKwkJZm9y IChqID0gMDsgaiA8IHJtX3Jlcy0+c2V0czsgaisrLCBpKyspIHsKPiArCQkJaWYgKHJtX3Jlcy0+ ZGVzY1tqXS5udW0pIHsKPiArCQkJCWlycV9yZXMuZGVzY1tpXS5zdGFydCA9IHJtX3Jlcy0+ZGVz Y1tqXS5zdGFydCArCj4gKwkJCQkJCXVkLT5zb2NfZGF0YS0+b2VzLnVkbWFfcmNoYW47Cj4gKwkJ CQlpcnFfcmVzLmRlc2NbaV0ubnVtID0gcm1fcmVzLT5kZXNjW2pdLm51bTsKPiArCQkJfQo+ICsJ CQlpZiAocm1fcmVzLT5kZXNjW2pdLm51bV9zZWMpIHsKPiArCQkJCWlycV9yZXMuZGVzY1tpXS5z dGFydF9zZWMgPSBybV9yZXMtPmRlc2Nbal0uc3RhcnRfc2VjICsKPiArCQkJCQkJdWQtPnNvY19k YXRhLT5vZXMudWRtYV9yY2hhbjsKPiArCQkJCWlycV9yZXMuZGVzY1tpXS5udW1fc2VjID0gcm1f cmVzLT5kZXNjW2pdLm51bV9zZWM7Cj4gKwkJCX0KPiAgCQl9Cj4gIAl9Cj4gIAlyZXQgPSB0aV9z Y2lfaW50YV9tc2lfZG9tYWluX2FsbG9jX2lycXModWQtPmRldiwgJmlycV9yZXMpOwo+IEBAIC00 NjkwLDE0ICs0NzA1LDE1IEBAIHN0YXRpYyBpbnQgYmNkbWFfc2V0dXBfcmVzb3VyY2VzKHN0cnVj dCB1ZG1hX2RldiAqdWQpCj4gIAkJcm1fcmVzID0gdGlzY2lfcm0tPnJtX3Jhbmdlc1tSTV9SQU5H RV9CQ0hBTl07Cj4gIAkJaWYgKElTX0VSUihybV9yZXMpKSB7Cj4gIAkJCWJpdG1hcF96ZXJvKHVk LT5iY2hhbl9tYXAsIHVkLT5iY2hhbl9jbnQpOwo+ICsJCQlpcnFfcmVzLnNldHMrKzsKPiAgCQl9 IGVsc2Ugewo+ICAJCQliaXRtYXBfZmlsbCh1ZC0+YmNoYW5fbWFwLCB1ZC0+YmNoYW5fY250KTsK PiAgCQkJZm9yIChpID0gMDsgaSA8IHJtX3Jlcy0+c2V0czsgaSsrKQo+ICAJCQkJdWRtYV9tYXJr X3Jlc291cmNlX3Jhbmdlcyh1ZCwgdWQtPmJjaGFuX21hcCwKPiAgCQkJCQkJCSAgJnJtX3Jlcy0+ ZGVzY1tpXSwKPiAgCQkJCQkJCSAgImJjaGFuIik7Cj4gKwkJCWlycV9yZXMuc2V0cyArPSBybV9y ZXMtPnNldHM7Cj4gIAkJfQo+IC0JCWlycV9yZXMuc2V0cyArPSBybV9yZXMtPnNldHM7Cj4gIAl9 Cj4gIAo+ICAJLyogdGNoYW4gcmFuZ2VzICovCj4gQEAgLTQ3MDUsMTQgKzQ3MjEsMTUgQEAgc3Rh dGljIGludCBiY2RtYV9zZXR1cF9yZXNvdXJjZXMoc3RydWN0IHVkbWFfZGV2ICp1ZCkKPiAgCQly bV9yZXMgPSB0aXNjaV9ybS0+cm1fcmFuZ2VzW1JNX1JBTkdFX1RDSEFOXTsKPiAgCQlpZiAoSVNf RVJSKHJtX3JlcykpIHsKPiAgCQkJYml0bWFwX3plcm8odWQtPnRjaGFuX21hcCwgdWQtPnRjaGFu X2NudCk7Cj4gKwkJCWlycV9yZXMuc2V0cyArPSAyOwo+ICAJCX0gZWxzZSB7Cj4gIAkJCWJpdG1h cF9maWxsKHVkLT50Y2hhbl9tYXAsIHVkLT50Y2hhbl9jbnQpOwo+ICAJCQlmb3IgKGkgPSAwOyBp IDwgcm1fcmVzLT5zZXRzOyBpKyspCj4gIAkJCQl1ZG1hX21hcmtfcmVzb3VyY2VfcmFuZ2VzKHVk LCB1ZC0+dGNoYW5fbWFwLAo+ICAJCQkJCQkJICAmcm1fcmVzLT5kZXNjW2ldLAo+ICAJCQkJCQkJ ICAidGNoYW4iKTsKPiArCQkJaXJxX3Jlcy5zZXRzICs9IHJtX3Jlcy0+c2V0cyAqIDI7Cj4gIAkJ fQo+IC0JCWlycV9yZXMuc2V0cyArPSBybV9yZXMtPnNldHMgKiAyOwo+ICAJfQo+ICAKPiAgCS8q IHJjaGFuIHJhbmdlcyAqLwo+IEBAIC00NzIwLDQ3ICs0NzM3LDcyIEBAIHN0YXRpYyBpbnQgYmNk bWFfc2V0dXBfcmVzb3VyY2VzKHN0cnVjdCB1ZG1hX2RldiAqdWQpCj4gIAkJcm1fcmVzID0gdGlz Y2lfcm0tPnJtX3Jhbmdlc1tSTV9SQU5HRV9SQ0hBTl07Cj4gIAkJaWYgKElTX0VSUihybV9yZXMp KSB7Cj4gIAkJCWJpdG1hcF96ZXJvKHVkLT5yY2hhbl9tYXAsIHVkLT5yY2hhbl9jbnQpOwo+ICsJ CQlpcnFfcmVzLnNldHMgKz0gMjsKPiAgCQl9IGVsc2Ugewo+ICAJCQliaXRtYXBfZmlsbCh1ZC0+ cmNoYW5fbWFwLCB1ZC0+cmNoYW5fY250KTsKPiAgCQkJZm9yIChpID0gMDsgaSA8IHJtX3Jlcy0+ c2V0czsgaSsrKQo+ICAJCQkJdWRtYV9tYXJrX3Jlc291cmNlX3Jhbmdlcyh1ZCwgdWQtPnJjaGFu X21hcCwKPiAgCQkJCQkJCSAgJnJtX3Jlcy0+ZGVzY1tpXSwKPiAgCQkJCQkJCSAgInJjaGFuIik7 Cj4gKwkJCWlycV9yZXMuc2V0cyArPSBybV9yZXMtPnNldHMgKiAyOwo+ICAJCX0KPiAtCQlpcnFf cmVzLnNldHMgKz0gcm1fcmVzLT5zZXRzICogMjsKPiAgCX0KPiAgCj4gIAlpcnFfcmVzLmRlc2Mg PSBrY2FsbG9jKGlycV9yZXMuc2V0cywgc2l6ZW9mKCppcnFfcmVzLmRlc2MpLCBHRlBfS0VSTkVM KTsKPiArCWlmICghaXJxX3Jlcy5kZXNjKQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICAJaWYgKHVk LT5iY2hhbl9jbnQpIHsKPiAgCQlybV9yZXMgPSB0aXNjaV9ybS0+cm1fcmFuZ2VzW1JNX1JBTkdF X0JDSEFOXTsKPiAtCQlmb3IgKGkgPSAwOyBpIDwgcm1fcmVzLT5zZXRzOyBpKyspIHsKPiAtCQkJ aXJxX3Jlcy5kZXNjW2ldLnN0YXJ0ID0gcm1fcmVzLT5kZXNjW2ldLnN0YXJ0ICsKPiAtCQkJCQkJ b2VzLT5iY2RtYV9iY2hhbl9yaW5nOwo+IC0JCQlpcnFfcmVzLmRlc2NbaV0ubnVtID0gcm1fcmVz LT5kZXNjW2ldLm51bTsKPiArCQlpZiAoSVNfRVJSKHJtX3JlcykpIHsKPiArCQkJaXJxX3Jlcy5k ZXNjWzBdLnN0YXJ0ID0gb2VzLT5iY2RtYV9iY2hhbl9yaW5nOwo+ICsJCQlpcnFfcmVzLmRlc2Nb MF0ubnVtID0gdWQtPmJjaGFuX2NudDsKPiArCQkJaSA9IDE7Cj4gKwkJfSBlbHNlIHsKPiArCQkJ Zm9yIChpID0gMDsgaSA8IHJtX3Jlcy0+c2V0czsgaSsrKSB7Cj4gKwkJCQlpcnFfcmVzLmRlc2Nb aV0uc3RhcnQgPSBybV9yZXMtPmRlc2NbaV0uc3RhcnQgKwo+ICsJCQkJCQkJb2VzLT5iY2RtYV9i Y2hhbl9yaW5nOwo+ICsJCQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9IHJtX3Jlcy0+ZGVzY1tpXS5u dW07Cj4gKwkJCX0KPiAgCQl9Cj4gIAl9Cj4gIAlpZiAodWQtPnRjaGFuX2NudCkgewo+ICAJCXJt X3JlcyA9IHRpc2NpX3JtLT5ybV9yYW5nZXNbUk1fUkFOR0VfVENIQU5dOwo+IC0JCWZvciAoaiA9 IDA7IGogPCBybV9yZXMtPnNldHM7IGorKywgaSArPSAyKSB7Cj4gLQkJCWlycV9yZXMuZGVzY1tp XS5zdGFydCA9IHJtX3Jlcy0+ZGVzY1tqXS5zdGFydCArCj4gLQkJCQkJCW9lcy0+YmNkbWFfdGNo YW5fZGF0YTsKPiAtCQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9IHJtX3Jlcy0+ZGVzY1tqXS5udW07 Cj4gLQo+IC0JCQlpcnFfcmVzLmRlc2NbaSArIDFdLnN0YXJ0ID0gcm1fcmVzLT5kZXNjW2pdLnN0 YXJ0ICsKPiAtCQkJCQkJb2VzLT5iY2RtYV90Y2hhbl9yaW5nOwo+IC0JCQlpcnFfcmVzLmRlc2Nb aSArIDFdLm51bSA9IHJtX3Jlcy0+ZGVzY1tqXS5udW07Cj4gKwkJaWYgKElTX0VSUihybV9yZXMp KSB7Cj4gKwkJCWlycV9yZXMuZGVzY1tpXS5zdGFydCA9IG9lcy0+YmNkbWFfdGNoYW5fZGF0YTsK PiArCQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9IHVkLT50Y2hhbl9jbnQ7Cj4gKwkJCWlycV9yZXMu ZGVzY1tpICsgMV0uc3RhcnQgPSBvZXMtPmJjZG1hX3RjaGFuX3Jpbmc7Cj4gKwkJCWlycV9yZXMu ZGVzY1tpICsgMV0ubnVtID0gdWQtPnRjaGFuX2NudDsKPiArCQkJaSArPSAyOwo+ICsJCX0gZWxz ZSB7Cj4gKwkJCWZvciAoaiA9IDA7IGogPCBybV9yZXMtPnNldHM7IGorKywgaSArPSAyKSB7Cj4g KwkJCQlpcnFfcmVzLmRlc2NbaV0uc3RhcnQgPSBybV9yZXMtPmRlc2Nbal0uc3RhcnQgKwo+ICsJ CQkJCQkJb2VzLT5iY2RtYV90Y2hhbl9kYXRhOwo+ICsJCQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9 IHJtX3Jlcy0+ZGVzY1tqXS5udW07Cj4gKwo+ICsJCQkJaXJxX3Jlcy5kZXNjW2kgKyAxXS5zdGFy dCA9IHJtX3Jlcy0+ZGVzY1tqXS5zdGFydCArCj4gKwkJCQkJCQlvZXMtPmJjZG1hX3RjaGFuX3Jp bmc7Cj4gKwkJCQlpcnFfcmVzLmRlc2NbaSArIDFdLm51bSA9IHJtX3Jlcy0+ZGVzY1tqXS5udW07 Cj4gKwkJCX0KPiAgCQl9Cj4gIAl9Cj4gIAlpZiAodWQtPnJjaGFuX2NudCkgewo+ICAJCXJtX3Jl cyA9IHRpc2NpX3JtLT5ybV9yYW5nZXNbUk1fUkFOR0VfUkNIQU5dOwo+IC0JCWZvciAoaiA9IDA7 IGogPCBybV9yZXMtPnNldHM7IGorKywgaSArPSAyKSB7Cj4gLQkJCWlycV9yZXMuZGVzY1tpXS5z dGFydCA9IHJtX3Jlcy0+ZGVzY1tqXS5zdGFydCArCj4gLQkJCQkJCW9lcy0+YmNkbWFfcmNoYW5f ZGF0YTsKPiAtCQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9IHJtX3Jlcy0+ZGVzY1tqXS5udW07Cj4g LQo+IC0JCQlpcnFfcmVzLmRlc2NbaSArIDFdLnN0YXJ0ID0gcm1fcmVzLT5kZXNjW2pdLnN0YXJ0 ICsKPiAtCQkJCQkJb2VzLT5iY2RtYV9yY2hhbl9yaW5nOwo+IC0JCQlpcnFfcmVzLmRlc2NbaSAr IDFdLm51bSA9IHJtX3Jlcy0+ZGVzY1tqXS5udW07Cj4gKwkJaWYgKElTX0VSUihybV9yZXMpKSB7 Cj4gKwkJCWlycV9yZXMuZGVzY1tpXS5zdGFydCA9IG9lcy0+YmNkbWFfcmNoYW5fZGF0YTsKPiAr CQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9IHVkLT5yY2hhbl9jbnQ7Cj4gKwkJCWlycV9yZXMuZGVz Y1tpICsgMV0uc3RhcnQgPSBvZXMtPmJjZG1hX3JjaGFuX3Jpbmc7Cj4gKwkJCWlycV9yZXMuZGVz Y1tpICsgMV0ubnVtID0gdWQtPnJjaGFuX2NudDsKPiArCQkJaSArPSAyOwo+ICsJCX0gZWxzZSB7 Cj4gKwkJCWZvciAoaiA9IDA7IGogPCBybV9yZXMtPnNldHM7IGorKywgaSArPSAyKSB7Cj4gKwkJ CQlpcnFfcmVzLmRlc2NbaV0uc3RhcnQgPSBybV9yZXMtPmRlc2Nbal0uc3RhcnQgKwo+ICsJCQkJ CQkJb2VzLT5iY2RtYV9yY2hhbl9kYXRhOwo+ICsJCQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9IHJt X3Jlcy0+ZGVzY1tqXS5udW07Cj4gKwo+ICsJCQkJaXJxX3Jlcy5kZXNjW2kgKyAxXS5zdGFydCA9 IHJtX3Jlcy0+ZGVzY1tqXS5zdGFydCArCj4gKwkJCQkJCQlvZXMtPmJjZG1hX3JjaGFuX3Jpbmc7 Cj4gKwkJCQlpcnFfcmVzLmRlc2NbaSArIDFdLm51bSA9IHJtX3Jlcy0+ZGVzY1tqXS5udW07Cj4g KwkJCX0KPiAgCQl9Cj4gIAl9Cj4gIAo+IEBAIC00ODU4LDM5ICs0OTAwLDU0IEBAIHN0YXRpYyBp bnQgcGt0ZG1hX3NldHVwX3Jlc291cmNlcyhzdHJ1Y3QgdWRtYV9kZXYgKnVkKQo+ICAJaWYgKElT X0VSUihybV9yZXMpKSB7Cj4gIAkJLyogYWxsIHJmbG93cyBhcmUgYXNzaWduZWQgZXhjbHVzaXZl bHkgdG8gTGludXggKi8KPiAgCQliaXRtYXBfemVybyh1ZC0+cmZsb3dfaW5fdXNlLCB1ZC0+cmZs b3dfY250KTsKPiArCQlpcnFfcmVzLnNldHMgPSAxOwo+ICAJfSBlbHNlIHsKPiAgCQliaXRtYXBf ZmlsbCh1ZC0+cmZsb3dfaW5fdXNlLCB1ZC0+cmZsb3dfY250KTsKPiAgCQlmb3IgKGkgPSAwOyBp IDwgcm1fcmVzLT5zZXRzOyBpKyspCj4gIAkJCXVkbWFfbWFya19yZXNvdXJjZV9yYW5nZXModWQs IHVkLT5yZmxvd19pbl91c2UsCj4gIAkJCQkJCSAgJnJtX3Jlcy0+ZGVzY1tpXSwgInJmbG93Iik7 Cj4gKwkJaXJxX3Jlcy5zZXRzID0gcm1fcmVzLT5zZXRzOwo+ICAJfQo+IC0JaXJxX3Jlcy5zZXRz ID0gcm1fcmVzLT5zZXRzOwo+ICAKPiAgCS8qIHRmbG93IHJhbmdlcyAqLwo+ICAJcm1fcmVzID0g dGlzY2lfcm0tPnJtX3Jhbmdlc1tSTV9SQU5HRV9URkxPV107Cj4gIAlpZiAoSVNfRVJSKHJtX3Jl cykpIHsKPiAgCQkvKiBhbGwgdGZsb3dzIGFyZSBhc3NpZ25lZCBleGNsdXNpdmVseSB0byBMaW51 eCAqLwo+ICAJCWJpdG1hcF96ZXJvKHVkLT50Zmxvd19tYXAsIHVkLT50Zmxvd19jbnQpOwo+ICsJ CWlycV9yZXMuc2V0cysrOwo+ICAJfSBlbHNlIHsKPiAgCQliaXRtYXBfZmlsbCh1ZC0+dGZsb3df bWFwLCB1ZC0+dGZsb3dfY250KTsKPiAgCQlmb3IgKGkgPSAwOyBpIDwgcm1fcmVzLT5zZXRzOyBp KyspCj4gIAkJCXVkbWFfbWFya19yZXNvdXJjZV9yYW5nZXModWQsIHVkLT50Zmxvd19tYXAsCj4g IAkJCQkJCSAgJnJtX3Jlcy0+ZGVzY1tpXSwgInRmbG93Iik7Cj4gKwkJaXJxX3Jlcy5zZXRzICs9 IHJtX3Jlcy0+c2V0czsKPiAgCX0KPiAtCWlycV9yZXMuc2V0cyArPSBybV9yZXMtPnNldHM7Cj4g IAo+ICAJaXJxX3Jlcy5kZXNjID0ga2NhbGxvYyhpcnFfcmVzLnNldHMsIHNpemVvZigqaXJxX3Jl cy5kZXNjKSwgR0ZQX0tFUk5FTCk7Cj4gKwlpZiAoIWlycV9yZXMuZGVzYykKPiArCQlyZXR1cm4g LUVOT01FTTsKPiAgCXJtX3JlcyA9IHRpc2NpX3JtLT5ybV9yYW5nZXNbUk1fUkFOR0VfVEZMT1dd Owo+IC0JZm9yIChpID0gMDsgaSA8IHJtX3Jlcy0+c2V0czsgaSsrKSB7Cj4gLQkJaXJxX3Jlcy5k ZXNjW2ldLnN0YXJ0ID0gcm1fcmVzLT5kZXNjW2ldLnN0YXJ0ICsKPiAtCQkJCQlvZXMtPnBrdGRt YV90Y2hhbl9mbG93Owo+IC0JCWlycV9yZXMuZGVzY1tpXS5udW0gPSBybV9yZXMtPmRlc2NbaV0u bnVtOwo+ICsJaWYgKElTX0VSUihybV9yZXMpKSB7Cj4gKwkJaXJxX3Jlcy5kZXNjWzBdLnN0YXJ0 ID0gb2VzLT5wa3RkbWFfdGNoYW5fZmxvdzsKPiArCQlpcnFfcmVzLmRlc2NbMF0ubnVtID0gdWQt PnRmbG93X2NudDsKPiArCQlpID0gMTsKPiArCX0gZWxzZSB7Cj4gKwkJZm9yIChpID0gMDsgaSA8 IHJtX3Jlcy0+c2V0czsgaSsrKSB7Cj4gKwkJCWlycV9yZXMuZGVzY1tpXS5zdGFydCA9IHJtX3Jl cy0+ZGVzY1tpXS5zdGFydCArCj4gKwkJCQkJCW9lcy0+cGt0ZG1hX3RjaGFuX2Zsb3c7Cj4gKwkJ CWlycV9yZXMuZGVzY1tpXS5udW0gPSBybV9yZXMtPmRlc2NbaV0ubnVtOwo+ICsJCX0KPiAgCX0K PiAgCXJtX3JlcyA9IHRpc2NpX3JtLT5ybV9yYW5nZXNbUk1fUkFOR0VfUkZMT1ddOwo+IC0JZm9y IChqID0gMDsgaiA8IHJtX3Jlcy0+c2V0czsgaisrLCBpKyspIHsKPiAtCQlpcnFfcmVzLmRlc2Nb aV0uc3RhcnQgPSBybV9yZXMtPmRlc2Nbal0uc3RhcnQgKwo+IC0JCQkJCW9lcy0+cGt0ZG1hX3Jj aGFuX2Zsb3c7Cj4gLQkJaXJxX3Jlcy5kZXNjW2ldLm51bSA9IHJtX3Jlcy0+ZGVzY1tqXS5udW07 Cj4gKwlpZiAoSVNfRVJSKHJtX3JlcykpIHsKPiArCQlpcnFfcmVzLmRlc2NbaV0uc3RhcnQgPSBv ZXMtPnBrdGRtYV9yY2hhbl9mbG93Owo+ICsJCWlycV9yZXMuZGVzY1tpXS5udW0gPSB1ZC0+cmZs b3dfY250Owo+ICsJfSBlbHNlIHsKPiArCQlmb3IgKGogPSAwOyBqIDwgcm1fcmVzLT5zZXRzOyBq KyssIGkrKykgewo+ICsJCQlpcnFfcmVzLmRlc2NbaV0uc3RhcnQgPSBybV9yZXMtPmRlc2Nbal0u c3RhcnQgKwo+ICsJCQkJCQlvZXMtPnBrdGRtYV9yY2hhbl9mbG93Owo+ICsJCQlpcnFfcmVzLmRl c2NbaV0ubnVtID0gcm1fcmVzLT5kZXNjW2pdLm51bTsKPiArCQl9Cj4gIAl9Cj4gIAlyZXQgPSB0 aV9zY2lfaW50YV9tc2lfZG9tYWluX2FsbG9jX2lycXModWQtPmRldiwgJmlycV9yZXMpOwo+ICAJ a2ZyZWUoaXJxX3Jlcy5kZXNjKTsKPiAKCi0tIApQw6l0ZXIKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0 CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK