[VOL-1949] fix individual port state change

Change-Id: I66b94e83b6513b657af15c395a907b200735c764
diff --git a/rw_core/core/logical_device_manager.go b/rw_core/core/logical_device_manager.go
index b3ccd11..17c441c 100644
--- a/rw_core/core/logical_device_manager.go
+++ b/rw_core/core/logical_device_manager.go
@@ -485,6 +485,23 @@
 	}
 	return nil
 }
+func (ldMgr *LogicalDeviceManager) updatePortState(deviceId string, portNo uint32, state voltha.OperStatus_OperStatus) error {
+	log.Debugw("updatePortState", log.Fields{"deviceId": deviceId, "state": state, "portNo": portNo})
+
+	var ldId *string
+	var err error
+	//Get the logical device Id for this device
+	if ldId, err = ldMgr.getLogicalDeviceIdFromDeviceId(deviceId); err != nil {
+		log.Warnw("no-logical-device-found", log.Fields{"deviceId": deviceId, "error": err})
+		return err
+	}
+	if agent := ldMgr.getLogicalDeviceAgent(*ldId); agent != nil {
+		if err := agent.updatePortState(deviceId, portNo, state); err != nil {
+			return err
+		}
+	}
+	return nil
+}
 
 func (ldMgr *LogicalDeviceManager) updatePortsState(device *voltha.Device, state voltha.AdminState_AdminState) error {
 	log.Debugw("updatePortsState", log.Fields{"deviceId": device.Id, "state": state, "current-data": device})