diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2021-05-27 09:22:11 -0700 | 
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2021-05-27 09:55:10 -0700 | 
| commit | 5ada57a9a6b0be0e6dfcbd4afa519b0347fd5649 (patch) | |
| tree | f82f466df9272bb0c385320b25adc51c45309f84 /drivers/isdn | |
| parent | 59c56342459a483d5e563ed8b5fdb77ab7622a73 (diff) | |
| parent | d7c5303fbc8ac874ae3e597a5a0d3707dc0230b4 (diff) | |
| download | linux-5ada57a9a6b0be0e6dfcbd4afa519b0347fd5649.tar.bz2 | |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
cdc-wdm: s/kill_urbs/poison_urbs/ to fix build
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/isdn')
| -rw-r--r-- | drivers/isdn/hardware/mISDN/hfcsusb.c | 17 | ||||
| -rw-r--r-- | drivers/isdn/hardware/mISDN/mISDNinfineon.c | 21 | ||||
| -rw-r--r-- | drivers/isdn/hardware/mISDN/netjet.c | 1 | 
3 files changed, 21 insertions, 18 deletions
| diff --git a/drivers/isdn/hardware/mISDN/hfcsusb.c b/drivers/isdn/hardware/mISDN/hfcsusb.c index 70061991915a..cd5642cef01f 100644 --- a/drivers/isdn/hardware/mISDN/hfcsusb.c +++ b/drivers/isdn/hardware/mISDN/hfcsusb.c @@ -46,7 +46,7 @@ static void hfcsusb_start_endpoint(struct hfcsusb *hw, int channel);  static void hfcsusb_stop_endpoint(struct hfcsusb *hw, int channel);  static int  hfcsusb_setup_bch(struct bchannel *bch, int protocol);  static void deactivate_bchannel(struct bchannel *bch); -static void hfcsusb_ph_info(struct hfcsusb *hw); +static int  hfcsusb_ph_info(struct hfcsusb *hw);  /* start next background transfer for control channel */  static void @@ -241,7 +241,7 @@ hfcusb_l2l1B(struct mISDNchannel *ch, struct sk_buff *skb)   * send full D/B channel status information   * as MPH_INFORMATION_IND   */ -static void +static int  hfcsusb_ph_info(struct hfcsusb *hw)  {  	struct ph_info *phi; @@ -250,7 +250,7 @@ hfcsusb_ph_info(struct hfcsusb *hw)  	phi = kzalloc(struct_size(phi, bch, dch->dev.nrbchan), GFP_ATOMIC);  	if (!phi) -		return; +		return -ENOMEM;  	phi->dch.ch.protocol = hw->protocol;  	phi->dch.ch.Flags = dch->Flags; @@ -263,6 +263,8 @@ hfcsusb_ph_info(struct hfcsusb *hw)  	_queue_data(&dch->dev.D, MPH_INFORMATION_IND, MISDN_ID_ANY,  		    struct_size(phi, bch, dch->dev.nrbchan), phi, GFP_ATOMIC);  	kfree(phi); + +	return 0;  }  /* @@ -347,8 +349,7 @@ hfcusb_l2l1D(struct mISDNchannel *ch, struct sk_buff *skb)  			ret = l1_event(dch->l1, hh->prim);  		break;  	case MPH_INFORMATION_REQ: -		hfcsusb_ph_info(hw); -		ret = 0; +		ret = hfcsusb_ph_info(hw);  		break;  	} @@ -403,8 +404,7 @@ hfc_l1callback(struct dchannel *dch, u_int cmd)  			       hw->name, __func__, cmd);  		return -1;  	} -	hfcsusb_ph_info(hw); -	return 0; +	return hfcsusb_ph_info(hw);  }  static int @@ -746,8 +746,7 @@ hfcsusb_setup_bch(struct bchannel *bch, int protocol)  			handle_led(hw, (bch->nr == 1) ? LED_B1_OFF :  				   LED_B2_OFF);  	} -	hfcsusb_ph_info(hw); -	return 0; +	return hfcsusb_ph_info(hw);  }  static void diff --git a/drivers/isdn/hardware/mISDN/mISDNinfineon.c b/drivers/isdn/hardware/mISDN/mISDNinfineon.c index a16c7a2a7f3d..88d592bafdb0 100644 --- a/drivers/isdn/hardware/mISDN/mISDNinfineon.c +++ b/drivers/isdn/hardware/mISDN/mISDNinfineon.c @@ -630,17 +630,19 @@ static void  release_io(struct inf_hw *hw)  {  	if (hw->cfg.mode) { -		if (hw->cfg.p) { +		if (hw->cfg.mode == AM_MEMIO) {  			release_mem_region(hw->cfg.start, hw->cfg.size); -			iounmap(hw->cfg.p); +			if (hw->cfg.p) +				iounmap(hw->cfg.p);  		} else  			release_region(hw->cfg.start, hw->cfg.size);  		hw->cfg.mode = AM_NONE;  	}  	if (hw->addr.mode) { -		if (hw->addr.p) { +		if (hw->addr.mode == AM_MEMIO) {  			release_mem_region(hw->addr.start, hw->addr.size); -			iounmap(hw->addr.p); +			if (hw->addr.p) +				iounmap(hw->addr.p);  		} else  			release_region(hw->addr.start, hw->addr.size);  		hw->addr.mode = AM_NONE; @@ -670,9 +672,12 @@ setup_io(struct inf_hw *hw)  				(ulong)hw->cfg.start, (ulong)hw->cfg.size);  			return err;  		} -		if (hw->ci->cfg_mode == AM_MEMIO) -			hw->cfg.p = ioremap(hw->cfg.start, hw->cfg.size);  		hw->cfg.mode = hw->ci->cfg_mode; +		if (hw->ci->cfg_mode == AM_MEMIO) { +			hw->cfg.p = ioremap(hw->cfg.start, hw->cfg.size); +			if (!hw->cfg.p) +				return -ENOMEM; +		}  		if (debug & DEBUG_HW)  			pr_notice("%s: IO cfg %lx (%lu bytes) mode%d\n",  				  hw->name, (ulong)hw->cfg.start, @@ -697,12 +702,12 @@ setup_io(struct inf_hw *hw)  				(ulong)hw->addr.start, (ulong)hw->addr.size);  			return err;  		} +		hw->addr.mode = hw->ci->addr_mode;  		if (hw->ci->addr_mode == AM_MEMIO) {  			hw->addr.p = ioremap(hw->addr.start, hw->addr.size); -			if (unlikely(!hw->addr.p)) +			if (!hw->addr.p)  				return -ENOMEM;  		} -		hw->addr.mode = hw->ci->addr_mode;  		if (debug & DEBUG_HW)  			pr_notice("%s: IO addr %lx (%lu bytes) mode%d\n",  				  hw->name, (ulong)hw->addr.start, diff --git a/drivers/isdn/hardware/mISDN/netjet.c b/drivers/isdn/hardware/mISDN/netjet.c index ee925b58bbce..2a1ddd47a096 100644 --- a/drivers/isdn/hardware/mISDN/netjet.c +++ b/drivers/isdn/hardware/mISDN/netjet.c @@ -1100,7 +1100,6 @@ nj_probe(struct pci_dev *pdev, const struct pci_device_id *ent)  		card->typ = NETJET_S_TJ300;  	card->base = pci_resource_start(pdev, 0); -	card->irq = pdev->irq;  	pci_set_drvdata(pdev, card);  	err = setup_instance(card);  	if (err) |