Re: [PATCH v8 2/2] staging/android: refactor SYNC IOCTLs
Hi Gustavo, [auto build test WARNING on staging/staging-testing] [also build test WARNING on next-20160315] [cannot apply to v4.5] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Gustavo-Padovan/staging-android-remove-redundant-comments-on-sync_merge_data/20160315-051123 config: i386-randconfig-h1-03151610 (attached as .config) reproduce: # save the attached .config to linux build tree make ARCH=i386 All warnings (new ones prefixed by >>): In file included from include/linux/linkage.h:4:0, from include/linux/fs.h:4, from include/linux/debugfs.h:18, from drivers/staging/android/sync.c:17: drivers/staging/android/sync.c: In function 'sync_file_ioctl_fence_info': drivers/staging/android/sync.c:535:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] if (copy_to_user((void __user *)info.sync_fence_info, fence_info, ^ include/linux/compiler.h:147:30: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ >> drivers/staging/android/sync.c:535:2: note: in expansion of macro 'if' if (copy_to_user((void __user *)info.sync_fence_info, fence_info, ^ drivers/staging/android/sync.c:535:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] if (copy_to_user((void __user *)info.sync_fence_info, fence_info, ^ include/linux/compiler.h:147:42: note: in definition of macro '__trace_if' if (__builtin_constant_p(!!(cond)) ? !!(cond) : \ ^ >> drivers/staging/android/sync.c:535:2: note: in expansion of macro 'if' if (copy_to_user((void __user *)info.sync_fence_info, fence_info, ^ drivers/staging/android/sync.c:535:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] if (copy_to_user((void __user *)info.sync_fence_info, fence_info, ^ include/linux/compiler.h:158:16: note: in definition of macro '__trace_if' __r = !!(cond); \ ^ >> drivers/staging/android/sync.c:535:2: note: in expansion of macro 'if' if (copy_to_user((void __user *)info.sync_fence_info, fence_info, ^ vim +/if +535 drivers/staging/android/sync.c 519 * info->num_fences. 520 */ 521 if (!info.num_fences) 522 goto no_fences; 523 524 if (info.num_fences < sync_file->num_fences) 525 return -EINVAL; 526 527 size = sync_file->num_fences * sizeof(*fence_info); 528 fence_info = kzalloc(size, GFP_KERNEL); 529 if (!fence_info) 530 return -ENOMEM; 531 532 for (i = 0; i < sync_file->num_fences; ++i) 533 sync_fill_fence_info(sync_file->cbs[i].fence, &fence_info[i]); 534 > 535 if (copy_to_user((void __user *)info.sync_fence_info, > fence_info, 536 size)) { 537 ret = -EFAULT; 538 goto out; 539 } 540 541 no_fences: 542 strlcpy(info.name, sync_file->name, sizeof(info.name)); 543 info.status = atomic_read(&sync_file->status); --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 1/7] staging: wilc1000: removes function 'init_tcp_tracking()'
This patch removes function 'init_tcp_tracking()'. The function is an unnecessary return. Signed-off-by: Leo Kim --- drivers/staging/wilc1000/wilc_wlan.c | 6 -- 1 file changed, 6 deletions(-) diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c index fd938fb..ca9054a 100644 --- a/drivers/staging/wilc1000/wilc_wlan.c +++ b/drivers/staging/wilc1000/wilc_wlan.c @@ -150,11 +150,6 @@ static u32 pending_base; static u32 tcp_session; static u32 pending_acks; -static inline int init_tcp_tracking(void) -{ - return 0; -} - static inline int add_tcp_session(u32 src_prt, u32 dst_prt, u32 seq) { if (tcp_session < 2 * MAX_TCP_SESSION) { @@ -1440,7 +1435,6 @@ int wilc_wlan_init(struct net_device *dev) ret = -EIO; goto _fail_; } - init_tcp_tracking(); return 1; -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 4/7] staging: wilc1000: removes duplicate wilc variable setting
This patches removes duplicate wilc variable setting. This value has already been set to wl variable previously. Replace wilc with wl as well. Signed-off-by: Leo Kim --- drivers/staging/wilc1000/linux_wlan.c | 10 -- 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c index 8a10831..1a5de2e 100644 --- a/drivers/staging/wilc1000/linux_wlan.c +++ b/drivers/staging/wilc1000/linux_wlan.c @@ -896,7 +896,6 @@ static int mac_init_fn(struct net_device *ndev) int wilc_mac_open(struct net_device *ndev) { struct wilc_vif *vif; - struct wilc *wilc; unsigned char mac_add[ETH_ALEN] = {0}; int ret = 0; @@ -912,7 +911,6 @@ int wilc_mac_open(struct net_device *ndev) return -ENODEV; } - wilc = vif->wilc; priv = wiphy_priv(vif->ndev->ieee80211_ptr->wiphy); netdev_dbg(ndev, "MAC OPEN[%p]\n", ndev); @@ -932,13 +930,13 @@ int wilc_mac_open(struct net_device *ndev) wilc_set_wfi_drv_handler(vif, wilc_get_vif_idx(vif), 0); - } else if (!wilc_wlan_get_num_conn_ifcs(wilc)) { + } else if (!wilc_wlan_get_num_conn_ifcs(wl)) { wilc_set_wfi_drv_handler(vif, wilc_get_vif_idx(vif), -wilc->open_ifcs); +wl->open_ifcs); } else { - if (memcmp(wilc->vif[i ^ 1]->bssid, - wilc->vif[i ^ 1]->src_addr, 6)) + if (memcmp(wl->vif[i ^ 1]->bssid, + wl->vif[i ^ 1]->src_addr, 6)) wilc_set_wfi_drv_handler(vif, wilc_get_vif_idx(vif), 0); -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 2/7] staging: wilc1000: wilc_spi.c: removes debug print log
This patches removes unnecessary debug print logs. Signed-off-by: Leo Kim --- drivers/staging/wilc1000/wilc_spi.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/drivers/staging/wilc1000/wilc_spi.c b/drivers/staging/wilc1000/wilc_spi.c index d41b8b6..4268e2f 100644 --- a/drivers/staging/wilc1000/wilc_spi.c +++ b/drivers/staging/wilc1000/wilc_spi.c @@ -196,9 +196,6 @@ static int wilc_spi_tx(struct wilc *wilc, u8 *b, u32 len) dev_err(&spi->dev, "can't write data with the following length: %d\n", len); - dev_err(&spi->dev, - "FAILED due to NULL buffer or ZERO length check the following length: %d\n", - len); ret = -EINVAL; } -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 5/7] staging: wilc1000: changes an ambiguous debug messages
This patches changes an ambiguous debug messages. The device types are both SDIO or SPI. Signed-off-by: Leo Kim --- drivers/staging/wilc1000/linux_wlan.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c index 1a5de2e..e949f21 100644 --- a/drivers/staging/wilc1000/linux_wlan.c +++ b/drivers/staging/wilc1000/linux_wlan.c @@ -907,7 +907,7 @@ int wilc_mac_open(struct net_device *ndev) wl = vif->wilc; if (!wl || !wl->dev) { - netdev_err(ndev, "wilc1000: SPI device not ready\n"); + netdev_err(ndev, "device not ready\n"); return -ENODEV; } -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 3/7] staging: wilc1000: removes duplicate vif variable setting
This patches removes duplicate vif variable setting. This value has already been set previously. Signed-off-by: Leo Kim --- drivers/staging/wilc1000/linux_wlan.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/staging/wilc1000/linux_wlan.c b/drivers/staging/wilc1000/linux_wlan.c index bfa754b..8a10831 100644 --- a/drivers/staging/wilc1000/linux_wlan.c +++ b/drivers/staging/wilc1000/linux_wlan.c @@ -912,7 +912,6 @@ int wilc_mac_open(struct net_device *ndev) return -ENODEV; } - vif = netdev_priv(ndev); wilc = vif->wilc; priv = wiphy_priv(vif->ndev->ieee80211_ptr->wiphy); netdev_dbg(ndev, "MAC OPEN[%p]\n", ndev); -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 7/7] staging: wilc1000: removes an unnecessary if-condition
This patch removes an unnecessary if-condition. Regardless of an if-condition is performed unconditionally '_end_' statement. Signed-off-by: Leo Kim --- drivers/staging/wilc1000/wilc_wlan.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c index ea671a9..08937fe 100644 --- a/drivers/staging/wilc1000/wilc_wlan.c +++ b/drivers/staging/wilc1000/wilc_wlan.c @@ -895,8 +895,6 @@ static void wilc_wlan_handle_isr_ext(struct wilc *wilc, u32 int_status) DATA_INT_CLR | ENABLE_RX_VMM); ret = wilc->hif_func->hif_block_rx_ext(wilc, 0, buffer, size); - if (!ret) - goto _end_; _end_: if (ret) { offset += size; -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 6/7] staging: wilc1000: removes goto definitions from wilc_wlan_firmware_download
This patch removes goto definitions from wilc_wlan_firmware_download function. Goto '_fail_1' feature is error return. It returns error type directly without result variable replacement as well. Signed-off-by: Leo Kim --- drivers/staging/wilc1000/wilc_wlan.c | 8 ++-- 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/drivers/staging/wilc1000/wilc_wlan.c b/drivers/staging/wilc1000/wilc_wlan.c index ca9054a..ea671a9 100644 --- a/drivers/staging/wilc1000/wilc_wlan.c +++ b/drivers/staging/wilc1000/wilc_wlan.c @@ -946,10 +946,8 @@ int wilc_wlan_firmware_download(struct wilc *wilc, const u8 *buffer, blksz = BIT(12); dma_buffer = kmalloc(blksz, GFP_KERNEL); - if (!dma_buffer) { - ret = -EIO; - goto _fail_1; - } + if (!dma_buffer) + return -EIO; offset = 0; do { @@ -987,8 +985,6 @@ _fail_: kfree(dma_buffer); -_fail_1: - return (ret < 0) ? ret : 0; } -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/1] scsi: storvsc: Support manual scan of FC hosts on Hyper-V
On Sat, Mar 12, 2016 at 01:52:48PM -0800, K. Y. Srinivasan wrote: > The default user scan function associated with FC (fc_user_scan) > is not suitable for FC hosts on Hyper-V since we don't have > an rport associated with FC host on Hyper-V . Set it to NULL so we can > support manual scan of FC targets on Hyper-V. This isn't really how the FC transport class in intended to work, but neither is the eh_timed_out (which I haven't seen in my tree yet). It sounds like storvsc simply shouldn't attach to the FC transport if it doesn't actually look like a FC HBA. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
RE: [PATCH 1/1] scsi: storvsc: Support manual scan of FC hosts on Hyper-V
> -Original Message- > From: Christoph Hellwig [mailto:h...@infradead.org] > Sent: Tuesday, March 15, 2016 6:40 AM > To: KY Srinivasan > Cc: gre...@linuxfoundation.org; linux-ker...@vger.kernel.org; > de...@linuxdriverproject.org; oher...@suse.com; > jbottom...@parallels.com; h...@infradead.org; linux-s...@vger.kernel.org; > a...@canonical.com; vkuzn...@redhat.com; jasow...@redhat.com; > martin.peter...@oracle.com; h...@suse.de > Subject: Re: [PATCH 1/1] scsi: storvsc: Support manual scan of FC hosts on > Hyper-V > > On Sat, Mar 12, 2016 at 01:52:48PM -0800, K. Y. Srinivasan wrote: > > The default user scan function associated with FC (fc_user_scan) > > is not suitable for FC hosts on Hyper-V since we don't have > > an rport associated with FC host on Hyper-V . Set it to NULL so we can > > support manual scan of FC targets on Hyper-V. > > This isn't really how the FC transport class in intended to work, but > neither is the eh_timed_out (which I haven't seen in my tree yet). > > It sounds like storvsc simply shouldn't attach to the FC transport > if it doesn't actually look like a FC HBA. Till recently I had not. However, we do support publishing wwn in the guest and some customers wanted this. That is the reason I am attaching FC transport and working through the issues. With this change, I now have wwn names published in the guest and I can also issue manual scan. Regards, K. Y ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] media: add GFP flag to media_*() that could get called in atomic context
Em Mon, 14 Mar 2016 14:09:09 +0200 Sakari Ailus escreveu: > Hi Mauro, > > On Mon, Mar 14, 2016 at 08:46:33AM -0300, Mauro Carvalho Chehab wrote: > > Em Mon, 14 Mar 2016 12:52:54 +0200 > > Sakari Ailus escreveu: > > > > > Hi Mauro, > > > > > > On Mon, Mar 14, 2016 at 07:13:58AM -0300, Mauro Carvalho Chehab wrote: > > > > Em Mon, 14 Mar 2016 09:22:37 +0200 > > > > Sakari Ailus escreveu: > > > > > > > > > Hi Shuah, > > > > > > > > > > On Sat, Mar 12, 2016 at 06:48:09PM -0700, Shuah Khan wrote: > > > > > > Add GFP flags to media_create_pad_link(), media_create_intf_link(), > > > > > > media_devnode_create(), and media_add_link() that could get called > > > > > > in atomic context to allow callers to pass in the right flags for > > > > > > memory allocation. > > > > > > > > > > > > tree-wide driver changes for media_*() GFP flags change: > > > > > > Change drivers to add gfpflags to interffaces, > > > > > > media_create_pad_link(), > > > > > > media_create_intf_link() and media_devnode_create(). > > > > > > > > > > > > Signed-off-by: Shuah Khan > > > > > > Suggested-by: Mauro Carvalho Chehab > > > > > > > > > > What's the use case for calling the above functions in an atomic > > > > > context? > > > > > > > > > > > > > ALSA code seems to do a lot of stuff at atomic context. That's what > > > > happens on my test machine when au0828 gets probed before > > > > snd-usb-audio: > > > > http://pastebin.com/LEX5LD5K > > > > > > > > It seems that ALSA USB probe routine (usb_audio_probe) happens in > > > > atomic context. > > > > > > usb_audio_probe() grabs a mutex (register_mutex) on its own. It certainly > > > cannot be called in atomic context. > > > > > > In the above log, what I did notice, though, was that because *we* grab > > > mdev->lock spinlock in media_device_register_entity(), we may not sleep > > > which is what the notify() callback implementation in au0828 driver does > > > (for memory allocation). > > > > True. After looking into the code, the problem is that the notify > > callbacks are called with the spinlock hold. I don't see any reason > > to do that. > > Notify callbacks, perhaps not, but the list is still protected by the > spinlock. It perhaps is not likely that another process would change it but > I don't think we can rely on that. I can see only 2 risks protected by the lock: 1) mdev gets freed while an entity is being created. This is a problem with the current memory protection schema we're using. I guess the only way to fix it is to use kref for mdev/entities/interfaces/links/pads. This change doesn't make it better or worse. Also, I don't think we have such risk with the current devices. 2) a notifier may be inserted or removed by another driver, while the loop is running. To avoid (2), I see 3 alternatives: a) keep the loop as proposed on this patch. As the list is navigated using list_for_each_entry_safe(), I guess[1] it should be safe to remove/add new notify callbacks there while the loop is running by some other process. [1] It *is* safe if the change were done inside the loop - but I'm not 100% sure that it is safe if some other CPU touches the notify list. b) Unlock/relock the spinlock every time: /* previous code that locks mdev->lock spinlock */ /* invoke entity_notify callbacks */ list_for_each_entry_safe(notify, next, &mdev->entity_notify, list) { spin_unlock(&mdev->lock); (notify)->notify(entity, notify->notify_data); spin_lock(&mdev->lock); } spin_unlock(&mdev->lock); c) use a separate lock for the notify list -this seems to be an overkill. d) Protect it with the graph traversal mutex. That sounds the worse idea, IMHO, as we'll be abusing the lock. > > > > > > Could we instead replace mdev->lock by a mutex? > > > > We changed the code to use a spinlock for a reason: this fixed some > > troubles in the past with the code locking (can't remember the problem, > > but this was documented at the kernel logs and at the ML). Yet, the code > > under the spinlock never sleeps, so this is fine. > > struct media_device.lock was added by this patch: > > commit 53e269c102fbaf77e7dc526b1606ad4a48e57200 > Author: Laurent Pinchart > Date: Wed Dec 9 08:40:00 2009 -0300 > > [media] media: Entities, pads and links > > As video hardware pipelines become increasingly complex and > configurable, the current hardware description through v4l2 subdevices > reaches its limits. In addition to enumerating and configuring > subdevices, video camera drivers need a way to discover and modify at > runtime how those subdevices are connected. This is done through new > elements called entities, pads and links. > > ... > > Signed-off-by: Laurent Pinchart > Signed-off-by: Sakari Ailus > Acked-by: Hans Verkuil > Signed-off-by: Mauro Carvalho Chehab > > I think it was
[PATCH] staging: netlogic: removed 1 multiple assignment checkpatch warning
From: Parth Sane diff --git a/drivers/staging/netlogic/platform_net.c b/drivers/staging/netlogic/platform_net.c index 7806c2b..daee1b2 100644 --- a/drivers/staging/netlogic/platform_net.c +++ b/drivers/staging/netlogic/platform_net.c @@ -86,7 +86,8 @@ static void xlr_resource_init(struct resource *res, int offset, int irq) res++; res->name = "gmac"; - res->start = res->end = irq; + res->end = irq; + res->start = res->end; res->flags = IORESOURCE_IRQ; } -- 2.1.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: netlogic: removed 1 multiple assignment checkpatch warning
This should go to the staging mailing list. Michal Dne 11.3.2016 v 10:22 laerdevstud...@gmail.com napsal(a): > From: Parth Sane > > Fixed netlogic checkpatch multiple assignment warning in platform_net.c > > Signed-off-by: Parth Sane > --- > drivers/staging/netlogic/platform_net.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/staging/netlogic/platform_net.c > b/drivers/staging/netlogic/platform_net.c > index 7806c2b..daee1b2 100644 > --- a/drivers/staging/netlogic/platform_net.c > +++ b/drivers/staging/netlogic/platform_net.c > @@ -86,7 +86,8 @@ static void xlr_resource_init(struct resource *res, int > offset, int irq) > > res++; > res->name = "gmac"; > - res->start = res->end = irq; > + res->end = irq; > + res->start = res->end; > res->flags = IORESOURCE_IRQ; > } > > ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging: netlogic: removed 1 multiple assignment checkpatch warning
On Tue, Mar 15, 2016 at 04:23:12PM +, laerdevstud...@gmail.com wrote: > From: Parth Sane > > diff --git a/drivers/staging/netlogic/platform_net.c > b/drivers/staging/netlogic/platform_net.c > index 7806c2b..daee1b2 100644 > --- a/drivers/staging/netlogic/platform_net.c > +++ b/drivers/staging/netlogic/platform_net.c > @@ -86,7 +86,8 @@ static void xlr_resource_init(struct resource *res, int > offset, int irq) > > res++; > res->name = "gmac"; > - res->start = res->end = irq; > + res->end = irq; > + res->start = res->end; > res->flags = IORESOURCE_IRQ; > } > > -- > 2.1.4 Hi, This is the friendly patch-bot of Greg Kroah-Hartman. You have sent him a patch that has triggered this response. He used to manually respond to these common problems, but in order to save his sanity (he kept writing the same thing over and over, yet to different people), I was created. Hopefully you will not take offence and will fix the problem in your patch and resubmit it so that it can be accepted into the Linux kernel tree. You are receiving this message because of the following common error(s) as indicated below: - Your patch does not have a Signed-off-by: line. Please read the kernel file, Documentation/SubmittingPatches and resend it after adding that line. Note, the line needs to be in the body of the email, before the patch, not at the bottom of the patch or in the email signature. - You did not specify a description of why the patch is needed, or possibly, any description at all, in the email body. Please read the section entitled "The canonical patch format" in the kernel file, Documentation/SubmittingPatches for what is needed in order to properly describe the change. If you wish to discuss this problem further, or you have questions about how to resolve this issue, please feel free to respond to this email and Greg will reply once he has dug out from the pending patches received from other developers. thanks, greg k-h's patch email bot ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: netlogic: removed 1 multiple assignment checkpatch warning
From: Parth Sane Fixed multiple assignment checkpatch warning by rearranging code. Signed-off-by: Parth Sane --- drivers/staging/netlogic/platform_net.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/staging/netlogic/platform_net.c b/drivers/staging/netlogic/platform_net.c index 7806c2b..daee1b2 100644 --- a/drivers/staging/netlogic/platform_net.c +++ b/drivers/staging/netlogic/platform_net.c @@ -86,7 +86,8 @@ static void xlr_resource_init(struct resource *res, int offset, int irq) res++; res->name = "gmac"; - res->start = res->end = irq; + res->end = irq; + res->start = res->end; res->flags = IORESOURCE_IRQ; } -- 2.1.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] Staging: nvec: removes a useless cast on a void pointer
Remove an unnecessary cast on a void pointer in nvec_power.c Signed-off-by: Ben Marsh --- drivers/staging/nvec/nvec_power.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/staging/nvec/nvec_power.c b/drivers/staging/nvec/nvec_power.c index b4a0545..fcbb0fa 100644 --- a/drivers/staging/nvec/nvec_power.c +++ b/drivers/staging/nvec/nvec_power.c @@ -90,7 +90,7 @@ static int nvec_power_notifier(struct notifier_block *nb, { struct nvec_power *power = container_of(nb, struct nvec_power, notifier); - struct bat_response *res = (struct bat_response *)data; + struct bat_response *res = data; if (event_type != NVEC_SYS) return NOTIFY_DONE; @@ -126,7 +126,7 @@ static int nvec_power_bat_notifier(struct notifier_block *nb, { struct nvec_power *power = container_of(nb, struct nvec_power, notifier); - struct bat_response *res = (struct bat_response *)data; + struct bat_response *res = data; int status_changed = 0; if (event_type != NVEC_BAT) -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 2/2] Staging: wlan-ng: convert p80211_stt_findproto() to static inline functions
This patch convert p80211_stt_findproto() to "static inline" since it is used only in p80211conv.c file and also has few instructins. After the scope was changed to static the function definition was moved at the beginning of the file to avoid undefined references. Signed-off-by: Claudiu Beznea --- drivers/staging/wlan-ng/p80211conv.c | 64 ++-- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/drivers/staging/wlan-ng/p80211conv.c b/drivers/staging/wlan-ng/p80211conv.c index 0a8f396..d3f62329 100644 --- a/drivers/staging/wlan-ng/p80211conv.c +++ b/drivers/staging/wlan-ng/p80211conv.c @@ -79,6 +79,38 @@ static u8 oui_rfc1042[] = { 0x00, 0x00, 0x00 }; static u8 oui_8021h[] = { 0x00, 0x00, 0xf8 }; /* +* p80211_stt_findproto +* +* Searches the 802.1h Selective Translation Table for a given +* protocol. +* +* Arguments: +* proto protocol number (in host order) to search for. +* +* Returns: +* 1 - if the table is empty or a match is found. +* 0 - if the table is non-empty and a match is not found. +* +* Call context: +* May be called in interrupt or non-interrupt context +* +*/ +static inline int p80211_stt_findproto(u16 proto) +{ + /* Always return found for now. This is the behavior used by the */ + /* Zoom Win95 driver when 802.1h mode is selected */ + /* TODO: If necessary, add an actual search we'll probably +* need this to match the CMAC's way of doing things. +* Need to do some testing to confirm. +*/ + + if (proto == ETH_P_AARP)/* APPLETALK */ + return 1; + + return 0; +} + +/* * p80211pb_ether_to_80211 * * Uses the contents of the ether frame and the etherconv setting @@ -509,38 +541,6 @@ int skb_p80211_to_ether(wlandevice_t *wlandev, u32 ethconv, } /* -* p80211_stt_findproto -* -* Searches the 802.1h Selective Translation Table for a given -* protocol. -* -* Arguments: -* proto protocol number (in host order) to search for. -* -* Returns: -* 1 - if the table is empty or a match is found. -* 0 - if the table is non-empty and a match is not found. -* -* Call context: -* May be called in interrupt or non-interrupt context -* -*/ -int p80211_stt_findproto(u16 proto) -{ - /* Always return found for now. This is the behavior used by the */ - /* Zoom Win95 driver when 802.1h mode is selected */ - /* TODO: If necessary, add an actual search we'll probably -* need this to match the CMAC's way of doing things. -* Need to do some testing to confirm. -*/ - - if (proto == ETH_P_AARP)/* APPLETALK */ - return 1; - - return 0; -} - -/* * p80211skb_rxmeta_detach * * Disconnects the frmmeta and rxmeta from an skb. -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH 1/2] Staging: wlan-ng: removed prototype of p80211_stt_findproto() from this file.
This patch removes the prototype of p80211_stt_findproto() from p80211conv.h since global scope is not necessary. Signed-off-by: Claudiu Beznea --- drivers/staging/wlan-ng/p80211conv.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/staging/wlan-ng/p80211conv.h b/drivers/staging/wlan-ng/p80211conv.h index 8c10357..6caba9a 100644 --- a/drivers/staging/wlan-ng/p80211conv.h +++ b/drivers/staging/wlan-ng/p80211conv.h @@ -155,6 +155,4 @@ int skb_ether_to_p80211(struct wlandevice *wlandev, u32 ethconv, struct sk_buff *skb, union p80211_hdr *p80211_hdr, struct p80211_metawep *p80211_wep); -int p80211_stt_findproto(u16 proto); - #endif -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/2] Staging: wlan-ng: removed prototype of p80211_stt_findproto() from this file.
Hi Claudiu, [auto build test ERROR on staging/staging-testing] [also build test ERROR on v4.5 next-20160315] [if your patch is applied to the wrong git tree, please drop us a note to help improving the system] url: https://github.com/0day-ci/linux/commits/Claudiu-Beznea/Staging-wlan-ng-removed-prototype-of-p80211_stt_findproto-from-this-file/20160316-032739 config: xtensa-allyesconfig (attached as .config) reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # save the attached .config to linux build tree make.cross ARCH=xtensa Note: the linux-review/Claudiu-Beznea/Staging-wlan-ng-removed-prototype-of-p80211_stt_findproto-from-this-file/20160316-032739 HEAD 5518803294d6e4fcd6c066edb94cc30d04949bdb builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): drivers/staging/wlan-ng/p80211conv.c: In function 'skb_ether_to_p80211': >> drivers/staging/wlan-ng/p80211conv.c:156:8: error: implicit declaration of >> function 'p80211_stt_findproto' [-Werror=implicit-function-declaration] p80211_stt_findproto(proto)) { ^ drivers/staging/wlan-ng/p80211conv.c: At top level: >> drivers/staging/wlan-ng/p80211conv.c:528:5: error: conflicting types for >> 'p80211_stt_findproto' int p80211_stt_findproto(u16 proto) ^ drivers/staging/wlan-ng/p80211conv.c:529:1: note: an argument type that has a default promotion can't match an empty parameter name list declaration { ^ drivers/staging/wlan-ng/p80211conv.c:156:8: note: previous implicit declaration of 'p80211_stt_findproto' was here p80211_stt_findproto(proto)) { ^ cc1: some warnings being treated as errors vim +/p80211_stt_findproto +156 drivers/staging/wlan-ng/p80211conv.c 00b3ed16 Greg Kroah-Hartman 2008-10-02 150 /* tack on SNAP */ 82eaca7d Moritz Muehlenhoff 2009-02-08 151 e_snap = 4eb28f71 Johan Meiring 2010-11-06 152 (struct wlan_snap *)skb_push(skb, 4eb28f71 Johan Meiring 2010-11-06 153 sizeof(struct wlan_snap)); 00b3ed16 Greg Kroah-Hartman 2008-10-02 154 e_snap->type = htons(proto); 25845388 Pranjal Bhor 2016-01-19 155 if (ethconv == WLAN_ETHCONV_8021h && 25845388 Pranjal Bhor 2016-01-19 @156 p80211_stt_findproto(proto)) { 82eaca7d Moritz Muehlenhoff 2009-02-08 157 memcpy(e_snap->oui, oui_8021h, 82eaca7d Moritz Muehlenhoff 2009-02-08 158 WLAN_IEEE_OUI_LEN); 00b3ed16 Greg Kroah-Hartman 2008-10-02 159 } else { :: The code at line 156 was first introduced by commit :: 2584538807926344e713548e5210bded8ed22011 staging: wlan-ng: Logical continuation fixes :: TO: Pranjal Bhor :: CC: Greg Kroah-Hartman --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: Binary data ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] Staging: wlan-ng: moved memset() calls after copy_from_user() call
This patch moves memset() calls from p80211netdev_ethtool() after copy_from_user() call in order to avoid unnecessary instruction in case copy_from_user() fails. Signed-off-by: Claudiu Beznea --- drivers/staging/wlan-ng/p80211netdev.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/wlan-ng/p80211netdev.c b/drivers/staging/wlan-ng/p80211netdev.c index 88255ce..3723b8c 100644 --- a/drivers/staging/wlan-ng/p80211netdev.c +++ b/drivers/staging/wlan-ng/p80211netdev.c @@ -465,12 +465,12 @@ static int p80211netdev_ethtool(wlandevice_t *wlandev, void __user *useraddr) struct ethtool_drvinfo info; struct ethtool_value edata; - memset(&info, 0, sizeof(info)); - memset(&edata, 0, sizeof(edata)); - if (copy_from_user(ðcmd, useraddr, sizeof(ethcmd))) return -EFAULT; + memset(&info, 0, sizeof(info)); + memset(&edata, 0, sizeof(edata)); + switch (ethcmd) { case ETHTOOL_GDRVINFO: info.cmd = ethcmd; -- 1.9.1 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging:vt6655: fix coding style violations for lines over 80 characters
Hello, I didn't think the first mail went through, and then noticed that the commit description needed to be shorter than the 76 characters per line so I ammended it and sent it using git send-email instead of mutt. There was no change to the source files. I think I need to rebase and try again. Can someone please explain the protocol for sending out the same patch? When I do this again, can I use the same description? It really does fit the changes made. Thanks -- Kathryn On Thu, Mar 10, 2016 at 07:23:56PM -0800, Greg KH wrote: > On Tue, Mar 08, 2016 at 05:23:02PM -0800, Kathryn Hampton wrote: > > This patch addresses line length errors reported by checkpatch.pl that could > > be fixed with simple line breaks. > > > > Signed-off-by: Kathryn Hampton > > You sent 2 patches with identical subject lines, yet they did different > things :( > > Please fix them up and resend them with unique names. > > thanks, > > greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging:vt6655: fix coding style violations for lines over 80 characters
Hi, On Tue, Mar 15, 2016 at 01:49:24PM -0700, Kathryn Hampton wrote: > I think I need to rebase and try again. Can someone please explain > the protocol for sending out the same patch? In practice it depends on the maintainer but in general the right thing to do is to indicate the patch version in the subject like this: [PATCHv2] staging: vt6655: fix coding style violations for lines over 80 characters (Note also that I added a space after "staging:" which is the normal convention for patch subjects.) Then you ought to also explain in the message body why you needed to resend i.e. what you changed in this version of the patch. You should do this *after* the "---" line following your sign off and *above* the diffstat if there is one. This portion of the message body will not be included in the git log message so it is a good place for development process discussion (as opposed to discussion of the content of the patch itself). In some cases maintainers will not expect all of this 100% but the above is the generally preferred way to resubmit. You may note that there are also a few other conventions floating around. Oh well, at least things aren't boring. ;) > When I do this again, can I use the same description? It really does fit the > changes made. If the description matches the content of the patch and you have not been asked to change it then you can leave it unchanged. Hope this helps. Thanks, Forest -- Forest Bond http://www.forestbond.com/ http://www.rapidrollout.com/ ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH 1/1] scsi: storvsc: Support manual scan of FC hosts on Hyper-V
> "KY" == KY Srinivasan writes: KY> Till recently I had not. However, we do support publishing wwn in KY> the guest and some customers wanted this. That is the reason I am KY> attaching FC transport and working through the issues. With this KY> change, I now have wwn names published in the guest and I can also KY> issue manual scan. Why does it have to look like FC? Will a device identification VPD page not do the trick? -- Martin K. Petersen Oracle Linux Engineering ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
RE: [PATCH] staging/comedi/dt282x: avoid integer overflow warning
On Monday, March 14, 2016 3:48 PM, Arnd Bergmann wrote: > gcc-6 warns about passing negative signed integer into swab16() > in the dt282x driver: > The warning makes sense, though the code is correct as far as I > can tell. > > This disambiguates the operation by making the constant expressions > we pass here explicitly 'unsigned', which helps to avoid the warning. > > Signed-off-by: Arnd Bergmann > --- > drivers/staging/comedi/drivers/dt282x.c | 62 > - > 1 file changed, 31 insertions(+), 31 deletions(-) > > diff --git a/drivers/staging/comedi/drivers/dt282x.c > b/drivers/staging/comedi/drivers/dt282x.c > index 40bf00984fa5..d4d45c759c62 100644 > --- a/drivers/staging/comedi/drivers/dt282x.c > +++ b/drivers/staging/comedi/drivers/dt282x.c > @@ -69,48 +69,48 @@ > * Register map > */ > #define DT2821_ADCSR_REG 0x00 > -#define DT2821_ADCSR_ADERR (1 << 15) > -#define DT2821_ADCSR_ADCLK (1 << 9) > -#define DT2821_ADCSR_MUXBUSY (1 << 8) > -#define DT2821_ADCSR_ADDONE (1 << 7) > -#define DT2821_ADCSR_IADDONE (1 << 6) > +#define DT2821_ADCSR_ADERR (1u << 15) Changing all of these to use the BIT() macro should also avoid the warning. Hartley ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH] staging/comedi/dt282x: avoid integer overflow warning
On Tuesday 15 March 2016 21:35:40 Hartley Sweeten wrote: > On Monday, March 14, 2016 3:48 PM, Arnd Bergmann wrote: > > gcc-6 warns about passing negative signed integer into swab16() > > in the dt282x driver: > > > > > The warning makes sense, though the code is correct as far as I > > can tell. > > > > This disambiguates the operation by making the constant expressions > > we pass here explicitly 'unsigned', which helps to avoid the warning. > > > > Signed-off-by: Arnd Bergmann > > --- > > drivers/staging/comedi/drivers/dt282x.c | 62 > > - > > 1 file changed, 31 insertions(+), 31 deletions(-) > > > > diff --git a/drivers/staging/comedi/drivers/dt282x.c > > b/drivers/staging/comedi/drivers/dt282x.c > > index 40bf00984fa5..d4d45c759c62 100644 > > --- a/drivers/staging/comedi/drivers/dt282x.c > > +++ b/drivers/staging/comedi/drivers/dt282x.c > > @@ -69,48 +69,48 @@ > > * Register map > > */ > > #define DT2821_ADCSR_REG 0x00 > > -#define DT2821_ADCSR_ADERR (1 << 15) > > -#define DT2821_ADCSR_ADCLK (1 << 9) > > -#define DT2821_ADCSR_MUXBUSY (1 << 8) > > -#define DT2821_ADCSR_ADDONE(1 << 7) > > -#define DT2821_ADCSR_IADDONE (1 << 6) > > +#define DT2821_ADCSR_ADERR (1u << 15) > > Changing all of these to use the BIT() macro should also avoid the warning. Yes, but it won't work for the ones that have more than one bit: #define DT2821_SUPCSR_DS_AD_TRIG (3 << 10) I considered using BIT() but decided against it for consistency. Arnd ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: comedi: ni_mio_common: fix the ni_write[blw]() functions
Memory mapped io (dev->mmio) should not also be writing to the ioport (dev->iobase) registers. Add the missing 'else' to these functions. Signed-off-by: H Hartley Sweeten Cc: Ian Abbott Cc: Greg Kroah-Hartman --- drivers/staging/comedi/drivers/ni_mio_common.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/staging/comedi/drivers/ni_mio_common.c b/drivers/staging/comedi/drivers/ni_mio_common.c index d1226c9..dcaf7e8 100644 --- a/drivers/staging/comedi/drivers/ni_mio_common.c +++ b/drivers/staging/comedi/drivers/ni_mio_common.c @@ -246,24 +246,24 @@ static void ni_writel(struct comedi_device *dev, uint32_t data, int reg) { if (dev->mmio) writel(data, dev->mmio + reg); - - outl(data, dev->iobase + reg); + else + outl(data, dev->iobase + reg); } static void ni_writew(struct comedi_device *dev, uint16_t data, int reg) { if (dev->mmio) writew(data, dev->mmio + reg); - - outw(data, dev->iobase + reg); + else + outw(data, dev->iobase + reg); } static void ni_writeb(struct comedi_device *dev, uint8_t data, int reg) { if (dev->mmio) writeb(data, dev->mmio + reg); - - outb(data, dev->iobase + reg); + else + outb(data, dev->iobase + reg); } static uint32_t ni_readl(struct comedi_device *dev, int reg) -- 2.6.3 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
RE: [PATCH 1/1] scsi: storvsc: Support manual scan of FC hosts on Hyper-V
> -Original Message- > From: Martin K. Petersen [mailto:martin.peter...@oracle.com] > Sent: Tuesday, March 15, 2016 2:25 PM > To: KY Srinivasan > Cc: Christoph Hellwig ; gre...@linuxfoundation.org; > linux-ker...@vger.kernel.org; de...@linuxdriverproject.org; > oher...@suse.com; jbottom...@parallels.com; linux-s...@vger.kernel.org; > a...@canonical.com; vkuzn...@redhat.com; jasow...@redhat.com; > martin.peter...@oracle.com; h...@suse.de > Subject: Re: [PATCH 1/1] scsi: storvsc: Support manual scan of FC hosts on > Hyper-V > > > "KY" == KY Srinivasan writes: > > KY> Till recently I had not. However, we do support publishing wwn in > KY> the guest and some customers wanted this. That is the reason I am > KY> attaching FC transport and working through the issues. With this > KY> change, I now have wwn names published in the guest and I can also > KY> issue manual scan. > > Why does it have to look like FC? Will a device identification VPD page > not do the trick? How would I get the sysfs files under fc_host if I don't use the FC transport. The customer scripts expect these sysfs files. Regards, K. Y > > -- > Martin K. PetersenOracle Linux Engineering ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCHv2] staging: vt6655: fix style violations for lines over 80 characters
This patch addresses line length errors reported by checkpatch.pl that could be fixed with simple line breaks. Signed-off-by: Kathryn Hampton --- Resending this patch to eliminate confusion over sending twice with different commit descriptions. drivers/staging/vt6655/baseband.c | 20 ++--- drivers/staging/vt6655/baseband.h | 6 ++- drivers/staging/vt6655/card.c | 95 ++- drivers/staging/vt6655/card.h | 9 ++-- drivers/staging/vt6655/desc.h | 3 +- drivers/staging/vt6655/mac.c | 15 --- drivers/staging/vt6655/srom.c | 9 ++-- 7 files changed, 106 insertions(+), 51 deletions(-) diff --git a/drivers/staging/vt6655/baseband.c b/drivers/staging/vt6655/baseband.c index 1e6c0c4..11e049a 100644 --- a/drivers/staging/vt6655/baseband.c +++ b/drivers/staging/vt6655/baseband.c @@ -36,8 +36,10 @@ * Revision History: * 06-10-2003 Bryan YC Fan: Re-write codes to support VT3253 spec. * 08-07-2003 Bryan YC Fan: Add MAXIM2827/2825 and RFMD2959 support. - * 08-26-2003 Kyle Hsu: Modify BBuGetFrameTime() and BBvCalculateParameter(). - *cancel the setting of MAC_REG_SOFTPWRCTL on BBbVT3253Init(). + * 08-26-2003 Kyle Hsu: Modify BBuGetFrameTime() and + * BBvCalculateParameter(). + *cancel the setting of MAC_REG_SOFTPWRCTL on + * BBbVT3253Init(). *Add the comments. * 09-01-2003 Bryan YC Fan: RF & BB tables updated. *Modified BBvLoopbackOn & BBvLoopbackOff(). @@ -777,7 +779,8 @@ static unsigned char byVT3253B0_RFMD[CB_VT3253B0_INIT_FOR_RFMD][2] = { #define CB_VT3253B0_AGC_FOR_RFMD2959 195 /* For RFMD2959 */ -static unsigned char byVT3253B0_AGC4_RFMD2959[CB_VT3253B0_AGC_FOR_RFMD2959][2] = { +static +unsigned char byVT3253B0_AGC4_RFMD2959[CB_VT3253B0_AGC_FOR_RFMD2959][2] = { {0xF0, 0x00}, {0xF1, 0x3E}, {0xF0, 0x80}, @@ -977,7 +980,8 @@ static unsigned char byVT3253B0_AGC4_RFMD2959[CB_VT3253B0_AGC_FOR_RFMD2959][2] = #define CB_VT3253B0_INIT_FOR_AIROHA2230 256 /* For AIROHA */ -static unsigned char byVT3253B0_AIROHA2230[CB_VT3253B0_INIT_FOR_AIROHA2230][2] = { +static +unsigned char byVT3253B0_AIROHA2230[CB_VT3253B0_INIT_FOR_AIROHA2230][2] = { {0x00, 0x31}, {0x01, 0x00}, {0x02, 0x00}, @@ -2160,9 +2164,13 @@ bool BBbVT3253Init(struct vnt_private *priv) /* {{ RobertYu:20050223, request by JerryChung */ - /* Init ANT B select,TX Config CR09 = 0x61->0x45, 0x45->0x41(VC1/VC2 define, make the ANT_A, ANT_B inverted) */ + /* Init ANT B select,TX Config CR09 = 0x61->0x45, +* 0x45->0x41(VC1/VC2 define, make the ANT_A, ANT_B inverted) +*/ /*bResult &= BBbWriteEmbedded(dwIoBase,0x09,0x41);*/ - /* Init ANT B select,RX Config CR10 = 0x28->0x2A, 0x2A->0x28(VC1/VC2 define, make the ANT_A, ANT_B inverted) */ + /* Init ANT B select,RX Config CR10 = 0x28->0x2A, +* 0x2A->0x28(VC1/VC2 define, make the ANT_A, ANT_B inverted) +*/ /*bResult &= BBbWriteEmbedded(dwIoBase,0x0a,0x28);*/ /* Select VC1/VC2, CR215 = 0x02->0x06 */ bResult &= BBbWriteEmbedded(priv, 0xd7, 0x06); diff --git a/drivers/staging/vt6655/baseband.h b/drivers/staging/vt6655/baseband.h index 43a4fb1..b4e8c43 100644 --- a/drivers/staging/vt6655/baseband.h +++ b/drivers/staging/vt6655/baseband.h @@ -77,8 +77,10 @@ BBuGetFrameTime( void vnt_get_phy_field(struct vnt_private *, u32 frame_length, u16 tx_rate, u8 pkt_type, struct vnt_phy_field *); -bool BBbReadEmbedded(struct vnt_private *, unsigned char byBBAddr, unsigned char *pbyData); -bool BBbWriteEmbedded(struct vnt_private *, unsigned char byBBAddr, unsigned char byData); +bool BBbReadEmbedded(struct vnt_private *, unsigned char byBBAddr, +unsigned char *pbyData); +bool BBbWriteEmbedded(struct vnt_private *, unsigned char byBBAddr, + unsigned char byData); void BBvSetShortSlotTime(struct vnt_private *); void BBvSetVGAGainOffset(struct vnt_private *, unsigned char byData); diff --git a/drivers/staging/vt6655/card.c b/drivers/staging/vt6655/card.c index 3d33812..afb1e8b 100644 --- a/drivers/staging/vt6655/card.c +++ b/drivers/staging/vt6655/card.c @@ -336,7 +336,8 @@ bool CARDbSetPhyParameter(struct vnt_private *priv, u8 bb_type) } if (priv->byCWMaxMin != byCWMaxMin) { priv->byCWMaxMin = byCWMaxMin; - VNSvOutPortB(priv->PortOffset + MAC_REG_CWMAXMIN0, priv->byCWMaxMin); + VNSvOutPortB(priv->PortOffset + MAC_REG_CWMAXMIN0, +priv->byCWMaxMin); } priv->byPacketType = CARDbyGetPktType(priv); @@ -373,9 +
新法下不得认定为工伤的情形有哪些PM 02:20:33
4355382 ━━━ 新《劳动合同法》、《社会保险法》、《工伤保险条例》实操应对策略 与有效调岗调薪、裁员解雇及违纪问题员工处理技巧 ━━━ A 单元: 2016年3月31-4月1日 广州、4月8-9日 上海、4月15-16日 北京、4月22-23日 深圳、6月3-4日 上海 B 单元: 2016年3月18-19日 北京、3月23-24日 深圳、4月28-29日 广州、5月13-14日 上海 ━━━ 注明: 该课程2天为一个单元,A单元与B单元内容是完全独立的不分先后顺序,客户可根据自己需求选择参加A单元 或者B单元,A单元与或AB单元均参加,可以参加完A单元再参加B单元或者先参加B单元再参加A单元均可, A单元与B单元内容请看下面的课程大纲!!! ━━━ 【主办单位】:新.思.维.企.业.培.训.网 www.hpxcn.com 【适合对象】:董事长、总经理、副总经理、人力资源总监/经理/专员及人事行政管理人员、工会干部、法 务人员及相关管理人员、相关律师等。 【标准费用】:参加A单元:2800元/1人,5000元/2人;参加B单元:2800元/1人,5000元/2人,参加AB单元: 5000元/人(含学习费、资料费、午餐、茶点、发票) ━━━ 【课程背景】: 近几年出台的政策法规―― 2008年,国家出台了《劳动合同法》、《劳动合同法实施条例》、《劳动争议调解仲裁法》、《职工带薪年 休假条例》、《企业职工带薪年休假实施办法》; 2009年,国家出台了《劳动人事争议仲裁办案规则》; 2010年,国家出台了《劳动争议司法解释(三)》及修改了《工伤保险条例》; 2011年,国家出台了《社会保险法》及《实施<社会保险法>若干规定》; 2012年,国家出台了《企业民主管理规定》、《女职工劳动保护特别规定》及修改了《职业病防治法》; 2013年,国家出台了《劳动争议司法解释(四)》、《劳务派遣暂行规定》; 2014年,国家出台了《工伤保险司法解释》、《工伤职工劳动能力鉴定管理办法》.. 近几年发生的案件―― 2010年,全国劳动人事仲裁机构和调解组织受理劳动人事争议案件共128.8万件;劳动监察机构共主动检查 用人单位173.1万户,对177.2万户用人单位进行了书面审查; 2011年,全国劳动人事仲裁机构和调解组织受理劳动人事争议案件共131.5万件;劳动监察机构共主动检查 用人单位184.8万户,对210.8万户用人单位进行了书面审查; 2012年,全国劳动人事仲裁机构和调解组织受理劳动人事争议案件共140.3万件;劳动监察机构共主动检查 用人单位207.6万户,对213.1万户用人单位进行了书面审查; 2013年,全国劳动人事仲裁机构和调解组织受理劳动人事争议案件共149.7万件;劳动监察机构共主动检查 用人单位202万户,对235万户用人单位进行了书面审查。 法律法规政策的持续出台与实施,劳动争议案件的持续递增与爆发,客观上要求企业精打细算,要求用人单 位“精细化”管理,要求企业迅速构建行之有效的劳动争议风险防范机制,否则企业将无法承受与日俱增的 用工成本,无法证明劳动者“不合格、不胜任、严重失职、严重违纪违规”,无法进行合法有效的“调岗调 薪、裁员解雇”。如果用人单位依然实施“传统式、粗放式、随便式”的管理,那么用人单位必将面临巨大 的用工风险与赔偿责任,其管理权威也必将受到巨大的挑战与严峻的考验! 为帮助广大企事业单位了解、理解相关政策法律法规,有效掌握防范用工风险和化解劳动争议的技能技巧 ,以实现低风险、低成本、高效率、高效益的人力资源管理目标,特邀请我国著名的劳动法与员工关系管理 实战专家钟永棣老师主讲此课程。欢迎企事业单位积极组织相关人员参加此培训课程! ━━━ 【课程特色】: 稀缺性:此课程将劳动法体系和薪酬绩效管理体系紧密相结合,国内极少出现此类课程。 针对性:课程内容精选了过去5年来主讲老师亲自处理过的且在不少用人单位内部也曾发生过的代表性案例, 这些案例完全符合中国现阶段的大环境、大气候、大趋势,极具参考性和启发性。 实战性:实战沙盘演练,学员深入思考与充分互动,老师毫不保留倾囊相授;学员把错误留在课堂,把正确 的观点、方法、工具、技能带回去。 ━━━ 【课程收益】: 1、全面了解劳动用工过程的法律风险; 2、理解与劳动用工有关的政策法律法规; 3、培养预测、分析劳动用工法律风险的思维; 4、掌握预防和应对风险的实战技能及方法工具…… ━━━ 【课程大纲】curriculum introduction A 单元内容(共2天,20个以上经典案例) 专题一:招聘入职 1.如何预防劳动者的“应聘欺诈”,如何证明劳动者的“欺诈”? 2.招收应届毕业生,应注意哪些细节问题? 3.招用达到法定退休年龄的人员,应注意哪些细节问题? 4.招用待岗、内退、停薪留职的人员,应注意哪些细节问题? 5.入职体检需注意哪些细节问题? 6.入职前后用人单位应告知劳动者哪些情况,如何保留证据? 7.《入职登记表》如何设计,才能起到预防法律风险的作用? 8.劳动者无法提交《离职证明》,该怎么办? 9.企业如何书写《录用通知书》,其法律风险有哪些? 专题二:劳动合同订立 1.用人单位自行拟定的劳动合同文本是否有效,是否需要进行备案? 2.劳动者借故拖延或拒绝签订劳动合同,用人单位如何应对? 3.未签订劳动合同,需支付多长期限的双倍工资?是否受到仲裁时效的限制? 4.劳动合同期满,继续留用劳动者,但未续签合同,是否也需支付双倍工资? 5.什么时候为最佳时间,签署劳动合同、用工协议? 6.法律禁止2次约定试用期,劳动合同期限和试用期限该如何约定? 7.用人单位收购其他组织时,如何与被接收的员工签订、变更劳动合同? 8.应否与属于职业经理人的法人代表签订劳动合同? 专题三:试用期 1.可否先试用后签合同,可否单独签订试用期协议? 2.员工主动申请延长试用期,该怎样操作,才规避赔偿风险? 3.试用期满后辞退员工,最少赔2个月工资,该如何化解? 4.试用期最后一天辞退员工,赔偿概率为70%,如何化解? 5.试用期满前几天辞退员工,赔偿概率为50%,如何化解? 6.不符合录用条件的范围包括哪些,如何取证证明? 7.《试用期辞退通知书》如何书写,以避免违法解除的赔偿金? 8.出现“经济性裁员”情况,优先裁掉试用期的新员工,合法吗? 9.试用期员工经常请假休假,导致难以对其观察考核,如何处理? 专题四:无固定期限劳动合同 1.无固定期限劳动合同到底是不是铁饭碗,会不会增加企业成本? 2.无固定期限劳动合同解除的条件、理由有哪些? 3.用人单位拒绝签订无固定期限劳动合同,有何风险? 4.签订了固定期限劳动合同的员工,期间工作累计满10年,能否要求将固定期限合同变更为无固定期 限合同? 5.连续订立二次固定期限劳动合同到期,用人单位能否终止合同;员工提出签订无固定期限合同,用 人单位能否拒绝? 6.合同期满劳动者由于医疗期、三期等原因续延劳动合同导致劳动者连续工作满十年,劳动者提出订 立无固定期限劳动合同的,用人单位能否拒绝? 专题五:培训、保密与竞业限制 1.培训服务期与劳动合同期限有何不同,劳动合同期限与服务期限发生冲突时如何适用? 2.培训服务期未到期,而劳动合同到期,用人单位终止劳动合同的,是否属于提前解除劳动合同,如 何规避? 3.劳动者严重过错被解雇,用人单位能否依据服务期约定要求劳动者支付违约金? 4.在什么情况下,可签署竞业限制协议? 5.在什么时候,企业更有主动权签署竞业限制协议? 6.无约定经济补偿的支付,竞业限制是否有效? 7.竞业限制的经济补偿的标准如何界定? 8.要求员工保密,企业需要支付保密工资吗? 9.培训协议、保密协议、竞业限制协议的核心条款! 专题六:劳动关系解除终止 1.双方协商解除劳动合同并约定支付适当的经济补偿,事后劳动者追讨经济补偿的差额部分,仲裁机 构有可能支持劳动者的诉求,企业如何避免案件败诉? 2.能否与“三期妇女、特殊保护期间的员工”协商解除,如何规避风险? 3.员工未提前30日通知企业即自行离职,企业能否扣减其工资? 4.员工提交辞职信后的30天内,企业批准其离职,可能有风险,如何化解? 5.员工提交辞职信后的30天后,企业批准其离职,也可能有风险,如何化解? 6.对于患病员工,能否解除,如何操作才能降低法律风险? 7.实行末位淘汰制,以末位排名为由解雇员工,往往被认定非法解雇,企业该如何做,才避免案件败 诉? 8.以“组织架构调整,无合适岗位安排”为由解雇员工,感觉非常符合常理,但往往被认定非法解雇 ,企业该如何做才避免风险? 9.以“经济性裁员”名义解雇员工,感觉非常符合常理,但往往被认定非法解雇,企业该如