Commit Graph

291 Commits

Author SHA1 Message Date
Greg Kroah-Hartman
7e8ad49f13 Staging: hv: rename Hv.h to hv.h
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:16 -07:00
Greg Kroah-Hartman
0d695f2b8f Staging: hv: rename Hv.c to hv.c
No CamelCase in file names.

Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:16 -07:00
Greg Kroah-Hartman
d2124f293b Staging: hv: rename hyperv_utils.c to hv_utils.c
As the module only has one .c file in it, just name the file
the same as the desired module.

Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:16 -07:00
Greg Kroah-Hartman
25e2831dc4 Staging: hv: util.h: fix up space mess again
Again, use tabs, not spaces, it's not difficult to remember...

Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:15 -07:00
Greg Kroah-Hartman
733371df3d Staging: hv: remove typedef that was just added.
It's a u64, so use a u64, it's not some special typedef.

Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:15 -07:00
Haiyang Zhang
39c4e9c378 Staging: hv: Add Time Sync feature to hv_utils module.
The Time Sync feature synchronizes guest time to host UTC time after reboot,
and restore from saved/paused state.

Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:15 -07:00
Greg Kroah-Hartman
e61fbe66cb Staging: hv: Channel.c: fix up compiler warning
In the series of ASSERT removals, somehow we ended up with a compiler
warning in Channel.c.  This patch fixes that up.

Cc: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:15 -07:00
Bill Pemberton
e8d5373d66 staging: hv: remove ASSERT in logging.h
ASSERT is no longer used in hv, so remove the define

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:15 -07:00
Bill Pemberton
790696847d staging: hv: remove ASSERT() and return -EINVAL in NetVsc.c
return -EINVAL instead of calling ASSERT()

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:15 -07:00
Bill Pemberton
7a09876d2a staging: hv: replace ASSERT() with WARN_ON() in NetVsc.c
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:15 -07:00
Bill Pemberton
972b9529cc staging: hv: remove ASSERT()s
These ASSERT()s serve no purpose other than for debugging.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:15 -07:00
Bill Pemberton
a3810b0ef6 staging: hv: remove ASSERT()s in vmbus_drv.c
These ASSERT()s serve no purpose other than for debugging.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:15 -07:00
Bill Pemberton
a16e1485c7 staging: hv: remove ASSERT()s and return -EINVAL in RingBuffer.c
return -EINVAL instead of calling ASSERT() for these conditionals.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:14 -07:00
Bill Pemberton
3324fb4053 staging: hv: check return value of RingBufferInit()
RingBufferInit() would always return sucess and instead relied on an
ASSERT() to test for an error condition.  Remove the ASSERT() and
return -EINVAL instead.  The return value of RingBufferInit() was also
never checked, so check it.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:14 -07:00
Bill Pemberton
1bbdd7a538 staging: hv: remove ASSERT()s in RingBuffer.c
These ASSERT()s serve no purpose other than for debugging.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:14 -07:00
Bill Pemberton
8a62d7168a staging: hv: remove ASSERT()s in RndisFilter.c
return -EINVAL instead of calling ASSERT() for these conditionals.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:14 -07:00
Bill Pemberton
45e4431468 staging: hv: remove ASSERT()s in RndisFilter.c
These ASSERT()s serve no purpose other than for debugging.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:14 -07:00
Bill Pemberton
e2e64432e9 staging: hv: remove ASSERT()s in StorVsc.c
These ASSERT()s serve no purpose other than for debugging.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:14 -07:00
Bill Pemberton
4e5166b5d8 staging: hv: remove ASSERT()s in blkvsc_drv.c
These ASSERT()s serve no purpose other than for debugging.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:14 -07:00
Bill Pemberton
5afd06ccd6 staging: hv: make the block driver depend on LBDAF
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:14 -07:00
Bill Pemberton
ee3503762d staging: hv: return error instead calling ASSERT in blkvsc_drv.c
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:14 -07:00
Bill Pemberton
b856e7382f staging: hv: remove ASSERT()s in storvsc_drv.c
These ASSERT()s serve no purpose other than for debugging.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:14 -07:00
Bill Pemberton
0ace247ead staging: hv: remove ASSERT()s in Channel.c
These ASSERT()s serve no purpose other than for debugging.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:13 -07:00
Bill Pemberton
002b53ea57 Staging: hv: return -EINVAL instead of calling ASSERT()
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:13 -07:00
Bill Pemberton
c827f944f5 Staging: hv: remove ASSERT() in Channel.c
VmbusChannelOpen() will now return -EINVAL if UserDataLen is too big.
Previously this was handled by an assert.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:13 -07:00
Bill Pemberton
b94ef345b2 Staging: hv: test return value of VmbusChannelEstablishGpadl()
The return value of VmbusChannelEstablishGpadl() was not examined in
Channel.c

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:13 -07:00
Bill Pemberton
99259159c0 Staging: hv: remove ASSERT() in Channel.c
return an error instead of calling ASSERT() if VmbusPostMessage()
fails.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:13 -07:00
Bill Pemberton
d1c250bb5d Staging: hv: remove ASSERT() in Channel.c
check memory allocation in VmbusChannelCreateGpadlHeader() and
return -ENOMEM if it fails

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:13 -07:00
Bill Pemberton
c3bf2e26b3 Staging: hv: remove ASSERT()s in Channel.c
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:13 -07:00
Bill Pemberton
80d11b2ae2 Staging: hv: test return value of osd_WaitEventCreate()
The return value of osd_WaitEventCreate() was not examined in some
places.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:13 -07:00
Bill Pemberton
8cad0af9a1 Staging: hv: return correct error values in Connection.c
Also check the kzalloc call return value.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:13 -07:00
Bill Pemberton
7e052d98f2 Staging: hv: check return value of osd_PageAlloc()
The return value of osd_PageAlloc() was checked using an ASSERT().
Change that to more useful behaviour.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:12 -07:00
Bill Pemberton
75910f236a Staging: hv: remove ASSERT()s in ChannelMgt.c
Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:12 -07:00
Bill Pemberton
1e19c05443 Staging: hv: Remove check for NULL before calling kfree()
kfree() knows how to deal with NULL, so there's no reason to check for
NULL before passing something to it.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:12 -07:00
Stephen Hemminger
f82f4ad7bf Staging: hv: add basic ethtool support
Ethtool allows querying device information and controlling parameters.
For now just add ability to turn on/off scatter/gather.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:10 -07:00
Stephen Hemminger
b220f5f925 Staging: hv: add transmit flow control
Keep track of the number of pages sent over transmit and stop
before going over.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:10 -07:00
Stephen Hemminger
6048718d71 Staging: hv: transmit scatter gather support
The transmit management of pages was confusing for handling
fragmented SKB's. (But since NETIF_F_SG was never set, the code was never hit).

The parameter AdditionalRequestPageBufferCount is always one,
(and leads to ugly code), so just inline and add comments.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:09 -07:00
Stephen Hemminger
9f8bd8bacf Staging: hv: use existing Ethernet header size
Use ETH_ALEN to indicate that MAC address is Ethernet.
Also use Linux printk format for mac addresses.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:09 -07:00
Stephen Hemminger
450d7a4b7a Staging: hv: ring parameter
The ring size parameter should be number of pages (not bytes).
Add module parameter information as well.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:09 -07:00
Stephen Hemminger
7880fc54c9 Staging: hv: cleanup network driver
Minor stuff:
   * Add module description
   * Remove variable set but never used.
   * Move variable inside conditional

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:09 -07:00
Greg Kroah-Hartman
6610944a91 Staging: hv: fix up sparse warning in hyperv_utils.c
The function isn't called by anyone else, so mark it static.

Also remove version.h, as it is not needed.

Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:07 -07:00
Bill Pemberton
8566ea7c6f Staging: hv: move ASSERT(scmnd) to a more useful location
There's not much point to make sure scmnd is not NULL after an assert
that would dereference scmnd.  The ASSERT()'s should be removed, but
until they are at least they at least can be in the right order.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:04 -07:00
Greg Kroah-Hartman
9e629075ac Staging: hv: delete ext_utils.c
A whole file just for a single line function call is beyond silly.
Delete it and move the call into where it is being called.

Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:04 -07:00
Greg Kroah-Hartman
b3413092cc Staging: hv: fix up formatting issues in utils.h
--------  cut here and print out and paste on wall --------

			Tabs, not spaces

--------  cut here and print out and paste on wall --------

Cc: Hank Janssen <hjanssen@microsoft.com>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:04 -07:00
Hank Janssen
c88c4e4c7a Staging: hv: Added new hv_utils driver with shutdown as first functionality
Addition of new driver for Hyper-V called hv_utils.
This driver is intended to support things like KVP, Timesync, Heartbeat etc.

This first release has support for Gracefull shutdown.
e.g. Select shutdown from the Hyper-V main admin screen and the Linux VM
will do a gracefull shutdown.

Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:36:03 -07:00
Bill Pemberton
81b571b771 Staging: hv: declare NetVscOnChannelCallback() static
NetVscOnChannelCallback() was prototyped as static, but the actual
declartion of the function was not static.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:35:38 -07:00
Bill Pemberton
c6fcf0baa6 Staging: hv: don't use dynamic sized array
NetVscOnChannelCallback() used a dynamic sized array that also made
the frame size over 2048.  Replace it with a buffer allocated from
kzalloc.

Signed-off-by: Bill Pemberton <wfp5p@virginia.edu>
Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:35:38 -07:00
Ruslan Pisarev
a5729c005c Staging: hv: fix spaces coding style issue in vstorage.h
This is a patch to the vstorage.h file that fixed up a TAB and spaces
Errors found by the checkpatch.pl tools, like
spaces required around that ':' (ctx:VxV)

Signed-off-by: Ruslan Pisarev <ruslan@rpisarev.org.ua>
Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:35:38 -07:00
Lars Lindley
0686e4f4a2 Staging: hv: trivial whitespace fixes found by checkpatch.pl
Signed-off-by: Lars Lindley <lindley@coyote.org>
Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:35:36 -07:00
Stephen Hemminger
9495c282ba Staging: hv: handle skb allocation failure
Some fixes to receive handling:
  * Dieing with assertion failure when running out of memory is not ok
  * Use newer alloc function to get aligned skb
  * Dropped statistic is supposed to be incremented only by
    driver it was responsible for the drop.

Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Cc: Hank Janssen <hjanssen@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-05-11 11:35:34 -07:00