Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752535AbdFLKT7 (ORCPT ); Mon, 12 Jun 2017 06:19:59 -0400 Received: from mail-db5eur01on0121.outbound.protection.outlook.com ([104.47.2.121]:18066 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751970AbdFLKT4 (ORCPT ); Mon, 12 Jun 2017 06:19:56 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=axentia.se; Subject: Re: [PATCH] i2c: ismt: fix wrong device address when unmap the data buffer To: Andy Shevchenko Cc: Song liwei , Wolfram Sang , Seth Heasley , Neil Horman , linux-i2c , linux-kernel References: <1497238928-41066-1-git-send-email-liwei.song@windriver.com> <3d211ade-77e8-0ec7-582b-085686ddd4c1@axentia.se> From: Peter Rosin Organization: Axentia Technologies AB Message-ID: Date: Mon, 12 Jun 2017 12:19:48 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [81.224.171.159] X-ClientProxiedBy: DB6PR07CA0161.eurprd07.prod.outlook.com (2603:10a6:6:43::15) To AM5PR0202MB2546.eurprd02.prod.outlook.com (2603:10a6:203:6d::7) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM5PR0202MB2546: X-MS-Office365-Filtering-Correlation-Id: f2335269-812c-4627-440d-08d4b17c90dc X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075);SRVR:AM5PR0202MB2546; X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2546;3:sqfER6LT0FEDvxdHj2u8thK9PeKVfXOe7kRlV2cNN0l6EQ8tApdgCkwN13B/IfrVRydKxrqb28UAZ4djdPnCPhBAjMRIFaJ3t1aP/IRloe+OV9qaD98vYtMZSYeInvDj+CP/SCKNdNa4aJqjTJi6I75Zoe3Xgc0RE6gFvJZCBJwOqgNxPKXoA3iwx8zFEL/XiAmeoHgcEqoQw2keK8HObbqKL/Jwk7b4iY3uhxNxWHpDp81d6TejZctDEfKQDoz2lDv4UcTjlJ/7F7Kb6sZZE3S/Pu+Jb8LAUJZfDWgwAD/2bf8tOhR1HHTyeV2YF92F;25:M7GU9i8cU4ywd4E+9rftqRTTfiueyKvG4TxURbC0XUo+QWyJ0kgHECGehza90sMbQA79EU7TbK6fw8t5cyqKaMl/wj88TH/LY/hfGk4AqMWeWI0EjO2Qs7C2zD68uYiAabpS2PGzlbdVscFo+3KiUHLNsp0721297ftWIV/ga7FMYpeYGb5xnMZb3JPhtgLF46nffhzvl7V5Ev5+3lXi4PoCdSsMEax44ceby81WkAVjfJif2wJhpHs9F2WAg4EX+giAezTIV0zMnCzwNBoR0abpdoZC1KYWGnYN486HNdrxhhzKTldCfDQHxEU5BsD385Qow63eh4N+Vm0EhnPpWV9WFWE6e0t9wbP38SwkMjiDg/AKNFybcMbyRrww9KIUlGsND86WQAQDiFFGFbapYGt4gvt6aj9cX5tjn3yzuBEYaYIxVgtchznnpLFxeVt2vaKcw0yzUMMC+GcNZbu2Duf63CSNnMlkLCpRRXpmlrE= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2546;31:+07IZ6HuHcRZzzMPBU8/WB35GJ65UpUNumgHOT8gFLaWrYDrFUzmbKmyxXXsYN30xSMY+rSVfGGZxGqXkrHXZvkK+PCxrh8HaeefKzFWBuMVyL1KZuEra46tr1wg9Tg15CRuQX9CVJ/g4iw9Lg7JDZwKjCQGFSE1gj3aqCkTj98UdkZoHyEBfSBeAOGAdnlNKLYdgsDn0VwrQtHvJiX9wVDjWtOyV/vWcsKpZYaeHztGRIA4tPOJiBRkrfyKbbW1hvRQqLYEeNwA1qNmtqidDg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6041248)(20161123560025)(20161123555025)(20161123562025)(20161123558100)(20161123564025)(2016111802025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(6043046)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:AM5PR0202MB2546;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:AM5PR0202MB2546; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTVQUjAyMDJNQjI1NDY7NDpIS3lrdWxiQ0NUU0RBZWFyVndjZkQvdlEz?= =?utf-8?B?cFVQVlNiekQ2aWVHblBiUG9FOElnY3pkMS9DN0lnaU5qUThxMm5ldW1iL29m?= =?utf-8?B?WXRMNmM4dEp2a09XNzhiUHpIZk54UWtBZUNuNnNBU01CeXcwSjA4TldIOS80?= =?utf-8?B?RGJTMW5MOTlMTFJyMkdtb0xyK3hURXlpVCtjS0lwRWRnMXplbDFhYTJZKzVl?= =?utf-8?B?L3RwQjRweWgrak1iSHJ6ZTVJR1JPa1NGMkdvTExKMlJUZDhVY1dnK1ZTVmpP?= =?utf-8?B?ckQwMDdGM2tNdkt4OFdBRnhmbk9PaTd2SmdQeFBLcGtuckxMb011QTVsL0VQ?= =?utf-8?B?MG42eGlJN0p0SldTY1prYkptZ2I4cXU5elV4YzhzVmNZdFd3UlFmZ24zZU14?= =?utf-8?B?MXR1Q0U5RlN2SmR6anVmdWtWbWU2ZmZxYklHcG1mUnFDVnlreDJqellmWFlV?= =?utf-8?B?TXExQytLY3F5eU5Fa0F1Yy84dVl0THZJZnVGMVFrT0JjanVvdWZtUlpYTXlZ?= =?utf-8?B?MTRJaEpDczhCZUVPSU5CYjkyZUU3eUI4bm95dnZOK1RWVHpzd09SN3ZUUUhL?= =?utf-8?B?a25rQkRQS2x5azhMK0kweURCOG9HNTVRditEalFkWlg4NkJOOWFWdHFpaGVU?= =?utf-8?B?V29Xcll1RlVERWlKbU1lSVl4RWRqazN1MWFRa2t4YTBMVTR4OG1MTG5MYVpt?= =?utf-8?B?ZEE2dEpmZHFvMDQyaEkrUSthQWxRMnBGcFMzNXBFd3BRYXIvYk9SVy91MnRz?= =?utf-8?B?NWt5cnBVZWJEL2p5YUhBbFB6aVd1LysvS2dQbEVYUk5RVCtRM0ZLOHViWkUx?= =?utf-8?B?c1h6TjMvZk1NUUdtOENXUHVBbkpYSDVWTzFXTFpwUlJLVlFkWTBlNEhhaGw4?= =?utf-8?B?UGhheExTb2g4ZWhMcVg4ZDFremNPbkNscGppL3J5c3hjcFhoTVp3dUJLcXky?= =?utf-8?B?R2tDbllSelo0NHI1Q1paQXhEOTNoTm42QmZLNktxNjhQUUJ2bmFLdW8zaUpP?= =?utf-8?B?NW14WXBMWklPN3hNZXpQNWtGSUFQUlVORWMrb2twREhnOStGQURuU0Fna2hJ?= =?utf-8?B?dVh0SS9pQzgyNDlZZWgwSVN2QkdWRW5GUDdqNDIyNlBHMXk2RmpDcEpqZWF3?= =?utf-8?B?NjJNYVZCZyt1Zi80enhyWGNqYVRyekE5QU5BcWFmYy94eVZhYXpqcXpxZGtu?= =?utf-8?B?R0VreFJTdE8zZEZPUVpVc3NITm9yRGFna0oyMHgxU09zMmJIbldHcE5LdXpY?= =?utf-8?B?TTI2cmNaaTM5eFlCV0IyMXBFL2U4OTJ6TzYrV1hTQWx3c2UvVll0M3FEWjRW?= =?utf-8?B?T0Z1eE15STI3TVl4d0JRSHJ4ZG00dTllbnptVHRYcUZZeGx5ZE0yUjlzWkNV?= =?utf-8?B?NFhGWFJybzEybTQwK3gyMkJ3cXpGanp0dE5zS2FNYUgydmRmWU8rSFV3TlR2?= =?utf-8?B?N1BFbGJ2Wmw0TlZIN3ZVNldHdWVzT3kyRG5yQjBDRkRIbDVVbXJuUXZDWWVR?= =?utf-8?B?L2xjbUpmVXZrVVVRMUlYcHhxZzZQUHJ2UnNTNktaR0pHZ0IwRi8xN1VBSDRP?= =?utf-8?B?MTFIV01RVXhrdmpSYjBpWEUxTkJpZ1BUQ0NUK3l1K2NWcU1NNDBpalVERWdy?= =?utf-8?Q?nS0OK3L4mTorrJknHGClg?= X-Forefront-PRVS: 03361FCC43 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(6049001)(39450400003)(39410400002)(39830400002)(39400400002)(377424004)(24454002)(377454003)(3846002)(230700001)(50986999)(54356999)(31696002)(76176999)(47776003)(4326008)(53546009)(42186005)(6246003)(23676002)(110136004)(31686004)(117156002)(478600001)(93886004)(25786009)(3260700006)(64126003)(229853002)(86362001)(189998001)(38730400002)(6666003)(2950100002)(6916009)(74482002)(7736002)(6486002)(77096006)(53936002)(305945005)(33646002)(81166006)(36756003)(66066001)(5660300001)(65826007)(8676002)(2906002)(65806001)(54906002)(65956001)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:AM5PR0202MB2546;H:[192.168.0.125];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTTVQUjAyMDJNQjI1NDY7MjM6NGRyM0t4MUZRS3U0V3UvWmpKekJ1c3Ur?= =?utf-8?B?SUxJNjRVMFdSam1yNU9UNmpWYkhBRytFcWRIcUtYZno1MERJdkNkeWd4cEtC?= =?utf-8?B?ekh0UlJVbEZFUGx2ckNoSEV5WGRDZ0UyNUd4NGphQjhIdmZKWFlVaG5ua1N1?= =?utf-8?B?Zi9oR05oQ0Y2QlNUKzF5Q1c2aytPdy9yRlQxSk1PcjNVUnJuQWMwemZsQjE0?= =?utf-8?B?SUV6cXNSajdqM2lTZFVvdUlWY3VvT3hFWkFXMm1nU3JyWXBST1ExQmdZYkJT?= =?utf-8?B?UGVWeGd1Mjk4Zm9yclE3Ykg3QzMxeVdoU25XcHIrMzBIc0VRc3ErRGVKSGpK?= =?utf-8?B?eXZvbGZIblg4bWV0a0RxSm55VmJ3dHNycmtkaW5uTmxWbForZjA0cXI4UHRu?= =?utf-8?B?ODlsdWZJT3BwWFRxUTdvSi9VZU5zYkROVFZZRUV4Qlg0UkFWd2lZRXA4Q1dO?= =?utf-8?B?aEhPMXJuVnZ0NDR4aWNMcVFFejdpaUJzUEhHS1lkZFdNVVNONnFyU2Mxb3lU?= =?utf-8?B?QVJYWkZ4UTFYRk9YblNXZWlWQ2h4d3h5RU96d2ZWV0ZiTjN3UVNtQU93U0ZI?= =?utf-8?B?ZUhURzdMZDM3T2VpeTFaRDlxMVNLOWR6VVBGakh1MWhKSkVDdkNRRk92aFp2?= =?utf-8?B?TkNRNlQybHZGWWlQU3lGMnlSM0llWGVnWis0cG1kLzYxb3hIZEtZRHZraWk5?= =?utf-8?B?WmN5bWdVM3JnaC9yMlAwMUFQUzZJNUdwRHBaVktSazE1SmVqcndoeTBUcGxn?= =?utf-8?B?cnI4aDJvZnNVbHBwUmNTZy9SaTB1ai9kNVNqc2NURHdzMkRud1FZb2hKdW9C?= =?utf-8?B?T2hvMnJSOU9kbisyMHBmTGtKUG5QcWFVcnRIM3NFTU5BV3hid0Rmc0hOUkpp?= =?utf-8?B?eExWNnYzNXVFcVc0bEhWeGRRY05HNkM0SWFpZFhxekJlOXZrdkRkM0IwblFo?= =?utf-8?B?ZmxwRzUvWFRpS2prS0xvTTBJakpSWW5CWVk5N296VCtZWHhCdXdwWGpOUmVl?= =?utf-8?B?OWNNU1hrcWI2aFBJcnRob3JXaFViMHFTUy9Rb2dCVFliNGtzZUh1bklIaHRE?= =?utf-8?B?YVZwQWYrMFpXYWlhNXJSLzZwdHgzSEcyN1dyUUs5Q1lOUTdnZ0xOWU5zQVcz?= =?utf-8?B?SWhQS2NaTWFxdHhpMVhQK1hNVDFCQWs0dmRZaE1BdjF3bk9oYUNKVE84SGVW?= =?utf-8?B?cWZiUlhqdDdlNXhTZ0tjVWFsMU44amVUNUVNdkc4dVJybE45T0xoTjE4SHZa?= =?utf-8?B?L0QwWXVxU2dvbVBsa2tCTVN5QUR3M1gyc1cxYjJKd3lDL3VSMmhlUXdmNW1W?= =?utf-8?B?ZmZNWFhYMC9VK0p0dHVqZDJzMFJnbEZPdE8rL0wzNWp4RDk4MkdsL0dXWFVw?= =?utf-8?B?WXY4NklmSktKVlRQMzZqLzVLajJiaFMyOEJLa1pzczl6OXRBY1ZlNXd6Sno5?= =?utf-8?B?dUZMaXpnM1JtZmowU1pPYzlyOUkvNVpYMnZKUFE5QlJhS2RTQjFSWks5TkZi?= =?utf-8?B?VU5ncmdKZEdjREhEb1RjdFlmR21uOEtsak9EK1NKVU9RUVU1bUVPSnFGZGh1?= =?utf-8?B?aU1NNlNQR0JtVGJlY3pjZnFVR2NqaFM3SFhMSnFjYjQ1eVZaVCtOY1pMaC9K?= =?utf-8?B?djJURXZvV0hhYzU0VGs0b0EwNU14ZlNzSTFxTmlhdkIvTFVBY2FqUUx3dlBK?= =?utf-8?B?bWN5ckI2Vi9RK1FqNWZTOGpHM2x0Sk9TLzBqMzRqYmwvUWNhWXJSRU0zdHds?= =?utf-8?B?dUQwOUlPVzdoWE9ocURjaW40WUF5NjZZM2c2ZUhzdndscjJqSGlzTy9EbFJn?= =?utf-8?Q?SaPU7KYd8Sby6Bn?= X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2546;6:atOdXTb69q7TojjKYcDC24wkLKlAbYUtgsVveOBy7tTB6qAGs3uhv0I5jq/8g0ria19efhUMJMqe7HMpj9ZxeT3CYQidDNv3+J5utHgPMFmLIvhFT/+3RLGtD95oP+R247LgRiI64t0Rxxdy+90judb1WAJYUyd9aGE+hMtTbROe6VnTghkYtMZdp7RS1Aw9YLoU7cSleFup+PWiiKty88Ma4+Xc3DBdiNU0WKNdXbtyoDxjD/5d5n0Y63tFEGFV/qnEsztxv1Pj0XG5xYnhqN3t5kkRwRgxPcfRtW8b1dsBAdIhDoCGIG9CitgDt4Vee8jWvku/b2T9g9A49JM1BFVputO1MVKusjXoMX+lx+RX06muLjPqmzddxvb8KUYEwHPFdC9WXR4k/IO2sYUcJPGXG1G3g5laF2on6ihfkSsO/8YKjFi28kJIkERPdwHz1SGe0j2qAv72Uxl8U3PTv1JZOfGHKLbiItJ131sZLP0rvvZrMNFqiROoDtQ8Ne59IPp1XwoPwmF+ZucL/WjCNQ== X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2546;5:nvdperRRtpuSnfGd114eZWYlWry4o7YWts+6QTn8jbx9jMGaR8VZeDNEd9bm/u2LDU7Xnox7BjqQMWiOSpIRta7qXsEYA94a3zZnmDtLcczWVO/xQ5GQab67k/CJ6wcwIZAqf+Ij+tD0yJRyY015BD1lzgcn8fzfhBS8+GmT6jEjpGz1DPV7vEUTwX2tOUsgwHhJLaS/gAuI6ifC7SlG1qZQwyyUgdER8zYUWAuqHUNDJecub52ZEfWA6HT+Wt7CEbq08ugpsggVQzeW3udae0rRRd+UoBdtqg9d65OjxYJFEMyLqSrPdx44/lUHO2tB1SiDfwAt7KcCo70xb0jSOCEupgqplXjrMORUvybDLerQpaIIGMXIqqsa44GMWpfLqq+UIPIN9fSSvCY4m+iUnWZXR4NBTcIs/I1sGYSgwDIiwAlJcM+6ke6y65TxpAG/5Z3UKDGJzU9BNLed3wTq6ftmh2YCAlndjsZyia5bt6+eIQpsWL9TRH+vjBDl/YSq;24:ku+C0rLnpkGSjySRQRbr7bFxieF5MNBWs1Z5qtOTPybsvDMCExdEutbHmYsXcBDHKuCSj9a4sqn0COOUB3eH0sxxQxndMHmqDCebuC7sovM= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;AM5PR0202MB2546;7:MKYqIzZ4RVM8kgS/R9qhTaDGDZiQ+joqJ+Eg/4/aRo29o/Dml7aZhAsc6tAbMpsjNVhNhLDe3/KhGWWOwWsirH5WFruBCAZFqg/1Q7CDqFupJ921lWnebTw7O0pDwaW8EWrVNW68lPeEVj/TiXCnV52yJ5DHHVPZFN3KPQoxcVuj7SRtprBXf+dEA7WHbxmzO2iPxXQRu5AtHc8EY+E53raebR+ypKzF8SfKDHNuU1843XDJPidj8dCyczUeDk3G0XeILWUUQ/eanPbkBwvWQTU9oB+m2SIyvdXzvFEeaJHGzdxrOgNgBsG34Ge4pjOZMV7IAVRGqoqB8doTEXxxVg== X-OriginatorOrg: axentia.se X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2017 10:19:52.0810 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0202MB2546 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1625 Lines: 44 On 2017-06-12 11:38, Andy Shevchenko wrote: > On Mon, Jun 12, 2017 at 12:28 PM, Peter Rosin wrote: >> On 2017-06-12 11:11, Andy Shevchenko wrote: >>> On Mon, Jun 12, 2017 at 6:42 AM, Song liwei wrote: >>>> From: Liwei Song > >>>> After finished I2C block read/write, when unmap the data buffer, >>>> a wrong device address was pass to dma_unmap_single(), > >>>> the right >>>> device address should be "dev" not "&adap->dev", the relation is >>>> *(&adap->dev) == dev. >>> >>> This is confusing. You are telling that there are two copies of struct >>> device here? >> >> Yes, there are two copies. > > No, there is not. See below. What I meant was that there are the struct device in pci_dev->dev and the struct device in adap->dev. That seems like two copies of struct device to me. I didn't mean that they are copies in the sense that they have the same content, but in the sense that they are both struct device. I guess we can argue ourselves blue over this point. > There are two struct devices, Hmm, two struct devices, I seem to recall that from somewhere... :-) > one is a real PCI device, which > represents actual device what *does* DMA. > This struct should be used according to DMA API. When you put it like that, it's obvious that the patch is correct. I had this feeling that little thought had gone into the choice to pick "dev" over "&adap->dev", that's all. > Another struct device which is wrongly used is an artificial one that > represents I2C adapter in terms of Linux kernel. Cheers, peda