From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com ([192.55.52.120]:41089 "EHLO mga04.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932605AbcJZOqv (ORCPT ); Wed, 26 Oct 2016 10:46:51 -0400 From: ville.syrjala@linux.intel.com To: intel-gfx@lists.freedesktop.org Cc: Daniel Vetter , stable@vger.kernel.org, Carlos Santa , "Kirill A . Shutemov" Subject: [PATCH v3 3/4] drm/dp/mst: Clear port->pdt when tearing down the i2c adapter Date: Wed, 26 Oct 2016 17:46:21 +0300 Message-Id: <1477493181-5901-1-git-send-email-ville.syrjala@linux.intel.com> In-Reply-To: <1477472755-15288-4-git-send-email-ville.syrjala@linux.intel.com> References: <1477472755-15288-4-git-send-email-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: From: Ville Syrjälä The i2c adapter is only relevant for some peer device types, so let's clear the pdt if it's still the same as the old_pdt when we tear down the i2c adapter. I don't really like this design pattern of updating port->whatever before doing the accompanying changes and passing around old_whatever to figure stuff out. Would make much more sense to me to the pass the new value around and only update the port->whatever when things are consistent. But let's try to work with what we have right now. Clearing port->pdt in drm_dp_destroy_connector_work() would be enough, but I chose to do it also in drm_dp_destroy_port(). The reason being extra consistency so that we don't lose this by accident should someone choose to refactor the code later. v2: Cleart port->pdt in the caller, if needed (Daniel) v3: Amend commit message a bit (Daniel) Cc: Daniel Vetter Cc: stable@vger.kernel.org Cc: Carlos Santa Cc: Kirill A. Shutemov Tested-by: Carlos Santa (v1) Tested-by: Kirill A. Shutemov (v1) Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=97666 Signed-off-by: Ville Syrjälä Reviewed-by: Daniel Vetter --- drivers/gpu/drm/drm_dp_mst_topology.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c index 04e457117980..ba13f9d8720b 100644 --- a/drivers/gpu/drm/drm_dp_mst_topology.c +++ b/drivers/gpu/drm/drm_dp_mst_topology.c @@ -914,6 +914,7 @@ static void drm_dp_destroy_port(struct kref *kref) /* no need to clean up vcpi * as if we have no connector we never setup a vcpi */ drm_dp_port_teardown_pdt(port, port->pdt); + port->pdt = DP_PEER_DEVICE_NONE; } kfree(port); } @@ -2919,6 +2920,7 @@ static void drm_dp_destroy_connector_work(struct work_struct *work) mgr->cbs->destroy_connector(mgr, port->connector); drm_dp_port_teardown_pdt(port, port->pdt); + port->pdt = DP_PEER_DEVICE_NONE; if (!port->input && port->vcpi.vcpi > 0) { drm_dp_mst_reset_vcpi_slots(mgr, port); -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH v3 3/4] drm/dp/mst: Clear port->pdt when tearing down the i2c adapter Date: Wed, 26 Oct 2016 17:46:21 +0300 Message-ID: <1477493181-5901-1-git-send-email-ville.syrjala@linux.intel.com> References: <1477472755-15288-4-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id C83D56E06A for ; Wed, 26 Oct 2016 14:46:25 +0000 (UTC) In-Reply-To: <1477472755-15288-4-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: "Kirill A . Shutemov" , stable@vger.kernel.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRo ZSBpMmMgYWRhcHRlciBpcyBvbmx5IHJlbGV2YW50IGZvciBzb21lIHBlZXIgZGV2aWNlIHR5cGVz LCBzbwpsZXQncyBjbGVhciB0aGUgcGR0IGlmIGl0J3Mgc3RpbGwgdGhlIHNhbWUgYXMgdGhlIG9s ZF9wZHQgd2hlbiB3ZQp0ZWFyIGRvd24gdGhlIGkyYyBhZGFwdGVyLgoKSSBkb24ndCByZWFsbHkg bGlrZSB0aGlzIGRlc2lnbiBwYXR0ZXJuIG9mIHVwZGF0aW5nIHBvcnQtPndoYXRldmVyCmJlZm9y ZSBkb2luZyB0aGUgYWNjb21wYW55aW5nIGNoYW5nZXMgYW5kIHBhc3NpbmcgYXJvdW5kIG9sZF93 aGF0ZXZlcgp0byBmaWd1cmUgc3R1ZmYgb3V0LiBXb3VsZCBtYWtlIG11Y2ggbW9yZSBzZW5zZSB0 byBtZSB0byB0aGUgcGFzcyB0aGUKbmV3IHZhbHVlIGFyb3VuZCBhbmQgb25seSB1cGRhdGUgdGhl IHBvcnQtPndoYXRldmVyIHdoZW4gdGhpbmdzIGFyZQpjb25zaXN0ZW50LiBCdXQgbGV0J3MgdHJ5 IHRvIHdvcmsgd2l0aCB3aGF0IHdlIGhhdmUgcmlnaHQgbm93LgoKQ2xlYXJpbmcgcG9ydC0+cGR0 IGluIGRybV9kcF9kZXN0cm95X2Nvbm5lY3Rvcl93b3JrKCkgd291bGQgYmUgZW5vdWdoLApidXQg SSBjaG9zZSB0byBkbyBpdCBhbHNvIGluIGRybV9kcF9kZXN0cm95X3BvcnQoKS4gVGhlIHJlYXNv biBiZWluZwpleHRyYSBjb25zaXN0ZW5jeSBzbyB0aGF0IHdlIGRvbid0IGxvc2UgdGhpcyBieSBh Y2NpZGVudCBzaG91bGQgc29tZW9uZQpjaG9vc2UgdG8gcmVmYWN0b3IgdGhlIGNvZGUgbGF0ZXIu Cgp2MjogQ2xlYXJ0IHBvcnQtPnBkdCBpbiB0aGUgY2FsbGVyLCBpZiBuZWVkZWQgKERhbmllbCkK djM6IEFtZW5kIGNvbW1pdCBtZXNzYWdlIGEgYml0IChEYW5pZWwpCgpDYzogRGFuaWVsIFZldHRl ciA8ZGFuaWVsQGZmd2xsLmNoPgpDYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZwpDYzogQ2FybG9z IFNhbnRhIDxjYXJsb3Muc2FudGFAaW50ZWwuY29tPgpDYzogS2lyaWxsIEEuIFNodXRlbW92IDxr aXJpbGxAc2h1dGVtb3YubmFtZT4KVGVzdGVkLWJ5OiBDYXJsb3MgU2FudGEgPGNhcmxvcy5zYW50 YUBpbnRlbC5jb20+ICh2MSkKVGVzdGVkLWJ5OiBLaXJpbGwgQS4gU2h1dGVtb3YgPGtpcmlsbEBz aHV0ZW1vdi5uYW1lPiAodjEpCkJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3Jn L3Nob3dfYnVnLmNnaT9pZD05NzY2NgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8 ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90 b3BvbG9neS5jIHwgMiArKwogMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCmluZGV4IDA0ZTQ1NzExNzk4MC4uYmExM2Y5ZDg3 MjBiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKQEAgLTkxNCw2ICs5MTQs NyBAQCBzdGF0aWMgdm9pZCBkcm1fZHBfZGVzdHJveV9wb3J0KHN0cnVjdCBrcmVmICprcmVmKQog CQkvKiBubyBuZWVkIHRvIGNsZWFuIHVwIHZjcGkKIAkJICogYXMgaWYgd2UgaGF2ZSBubyBjb25u ZWN0b3Igd2UgbmV2ZXIgc2V0dXAgYSB2Y3BpICovCiAJCWRybV9kcF9wb3J0X3RlYXJkb3duX3Bk dChwb3J0LCBwb3J0LT5wZHQpOworCQlwb3J0LT5wZHQgPSBEUF9QRUVSX0RFVklDRV9OT05FOwog CX0KIAlrZnJlZShwb3J0KTsKIH0KQEAgLTI5MTksNiArMjkyMCw3IEBAIHN0YXRpYyB2b2lkIGRy bV9kcF9kZXN0cm95X2Nvbm5lY3Rvcl93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKIAkJ bWdyLT5jYnMtPmRlc3Ryb3lfY29ubmVjdG9yKG1nciwgcG9ydC0+Y29ubmVjdG9yKTsKIAogCQlk cm1fZHBfcG9ydF90ZWFyZG93bl9wZHQocG9ydCwgcG9ydC0+cGR0KTsKKwkJcG9ydC0+cGR0ID0g RFBfUEVFUl9ERVZJQ0VfTk9ORTsKIAogCQlpZiAoIXBvcnQtPmlucHV0ICYmIHBvcnQtPnZjcGku dmNwaSA+IDApIHsKIAkJCWRybV9kcF9tc3RfcmVzZXRfdmNwaV9zbG90cyhtZ3IsIHBvcnQpOwot LSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=