usb: phy: msm: fix a possible NULL dereference
of_match_device could return NULL, and so cause a NULL pointer dereference later. Even if the probability of this case is very low, fixing it made static analyzers happy. Solving this with of_device_get_match_data made also code simplier. Reported-by: coverity (CID 1324133) Signed-off-by: LABBE Corentin <clabbe.montjoie@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
		
							parent
							
								
									62e345ae5b
								
							
						
					
					
						commit
						928c75fbeb
					
				| @ -1506,7 +1506,6 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg) | ||||
| { | ||||
| 	struct msm_otg_platform_data *pdata; | ||||
| 	struct extcon_dev *ext_id, *ext_vbus; | ||||
| 	const struct of_device_id *id; | ||||
| 	struct device_node *node = pdev->dev.of_node; | ||||
| 	struct property *prop; | ||||
| 	int len, ret, words; | ||||
| @ -1518,8 +1517,9 @@ static int msm_otg_read_dt(struct platform_device *pdev, struct msm_otg *motg) | ||||
| 
 | ||||
| 	motg->pdata = pdata; | ||||
| 
 | ||||
| 	id = of_match_device(msm_otg_dt_match, &pdev->dev); | ||||
| 	pdata->phy_type = (enum msm_usb_phy_type) id->data; | ||||
| 	pdata->phy_type = (enum msm_usb_phy_type)of_device_get_match_data(&pdev->dev); | ||||
| 	if (!pdata->phy_type) | ||||
| 		return 1; | ||||
| 
 | ||||
| 	motg->link_rst = devm_reset_control_get(&pdev->dev, "link"); | ||||
| 	if (IS_ERR(motg->link_rst)) | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user